如何分析ASP.NET三层结构及三层架构的缺点

技术如何分析ASP.NET三层结构及三层架构的缺点如何分析ASP.NET三层结构及三层架构的缺点,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。ASP.NET

如何分析ASP的缺点?NET的三层架构和三层架构,相信很多没有经验的人都不知所措。因此,本文总结了问题产生的原因及解决方法。希望你能通过这篇文章解决这个问题。

ASP.NET三层结构说明

完美三层结构的要求是:修改表示层不修改逻辑层,逻辑层不修改数据层。否则,很难说你的应用程序是多层的,还是层结构的划分和组织有问题。不同的应用有不同的理解,这只是一个概念问题。

了解ASP的原因。NET的三层结构——分为三层。

我们采用三层结构主要是为了让项目结构更清晰,分工更明确,有利于后期的维护升级。它可能不会提高性能,因为主程序模块只能在子程序模块没有完成时等待。这表明,将应用程序划分为多个层会给其执行速度带来一些损失。然而,从团队开发效率的角度来看,我们可以感受到截然不同的效果。

明确一点,三层结构不是的专利。NET,也不是专门用于数据库的技术。这是一个更通用的建筑设计理念。

这种架构在数据库设计中要注意表与表之间的关系,尽量满足父子关系。用户在功能上应该有一定的限制,不要表现出删除子表一定要小心,以免造成主表和子表的数据出现逻辑上的不一致,主表的外键在子表中没有对应的值。

对于表的综合查询方法是:

先查询主表,调用主表对应的DL。然后根据主表的记录分别查询各个子表。在将来自自表的查询结果添加到主表之后,形成了一个大的查询集。

对于表操作(添加、删除和更改):

此时只操作主表,调用主表对应的DL中的操作方法。

RL层是逻辑判断层,主要对页面上传的数据进行逻辑判断。RL层的顶部是用户界面

如何构建三层架构解决方案

创建新的空白解决方案。然后:

添加-新项目-其他项目-企业模板项目-C #构建块-数据访问(数据层,以下简称D层)

添加-新项目-其他项目-企业模板项目-C #构件-业务规则(业务层,以下简称C层)

添加-新建项目-其他项目-企业模板项目-C #构件-Web用户界面(界面层,以下简称U层)

右键单击解决方案-项目依赖项,并将U设置为依赖于D,C和C设置为依赖于D

向u添加参考d和C,向C添加参考d.

到目前为止,一个三层的架子已经搭好了。我上面说的很具体,很“蠢”。知道这件事的人都觉得我胡说八道。其实我强烈感觉很多人其实根本就不理解这个简单的过程。虽然不反对建两个“空项目”,一个“ASP.NET Web应用项目”也可以作为三层框架,也有相当一部分人认为这些“企业模板项目”其实是空项目,这是一种误解。是的,企业模板项目在解决方案资源管理器中什么也不是,但是您可以用记事本打开项目文件。看到区别了吗?后面有些东西你看不到,但是系统已经准备好了。也就是说,如果在C层的一个类中使用“使用System Data SqlClineit”,或者使用一个SqlConnection对象,在编译的时候不会出现错误,但是在“任务列表”中会产生一些“策略警告”,警告你不要把应该放在D层的东西放在C层(虽然程序是正确的,但是可读性和可维护性都打折扣),而这个函数,空项是不能用的。

在新的TraceLWord3中,应用了“企业模板项目”。将原始的LWordTask.cs放入名为AccessTask的单个项目中。在该解决方案中,创建了一个名为InterService的新项目,该项目包含一个LWordService.cs程序文件,即“中间业务层”程序。为了不重复命名,TraceLWord3的网站被放在了WebUI项目中。有关更完整的代码,可以在CodePackage/TraceLWord3目录中找到——。

ASP.NET三层结构:面象对象与实际的结合

我们知道建造桥梁需要砖。我们应该在建桥之前准备砖块,但是为了解释顺序、连贯性和简单性。我们先建桥,在建桥的过程中需要对砖块进行复制,这样就不会再有“桥不需要的东西”了。请注意,在实践中,应该首先准备砖块。

u层其实是桥,C层是砖,D层是原材料(石头、沙子)。这也解释了为什么U-level指的是D-level并依赖于D-level(而不是U-to-C和C-to-D级别),因为桥梁不仅需要砖块,还需要石头和沙子。

“三层结构”的缺点

有网友看了这篇文章之前的作品后质疑我,这提醒了我,文章至今没有提到“三层结构”的缺点。“三层结构”这个词

眼似乎一直都很热门,究其原因,或许是这种开发模式应用的比较普遍。但是“三层结构”却并不是百试百灵的“万灵药”,它也存在着缺点。下面就来说说它的缺点……

“三层结构”开发模式的一个非常明显的缺点就是其执行速度不够快。当然这个“执行速度”是相对于非分层的应用程序来说的。从文中所给出的时序图来看,也明显的暴露了这一缺点。TraceLWord1和TraceLWord2没有分层,直接调用的ADO.NET所提供的类来获取数据。但是,TraceLWord6确要经过多次调用才能获取到数据。在子程序模块程序没有返回时,主程序模块只能处于等待状态。所以在执行速度上,留言板的版本越高,排名却越靠后。“三层结构”开发模式,不适用于对执行速度要求过于苛刻的系统,例如:在线订票,在线炒股等等……它比较擅长于商业规则容易变化的系统。

“三层结构”开发模式,入门难度够高,难于理解和学习。这是对于初学程序设计的人来说的。以这种模式开发出来的软件,代码量通常要稍稍多一些。这往往会令初学者淹没在茫茫的代码之中。望之生畏,对其产生反感,也是可以理解的……

其实,无论哪一种开发模式或方法,都是有利有弊的。不会存在一种“万用法”可以解决任何问题。所以“三层结构”这个词眼也不会是个例外!是否采用这个模式进行系统开发,要作出比较、权衡之后才可以。切忌滥用!

看完上述内容,你们掌握如何分析ASP.NET三层结构及三层架构的缺点的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/119732.html

(0)

相关推荐

  • Redis中如何实现支持几乎所有加锁场景的分布式锁

    技术Redis中如何实现支持几乎所有加锁场景的分布式锁小编给大家分享一下Redis中如何实现支持几乎所有加锁场景的分布式锁,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下

    攻略 2021年11月2日
  • C#与C++哪个更强

    技术C#与C++哪个更强这篇文章主要介绍“C#与C++哪个更强”,在日常操作中,相信很多人在C#与C++哪个更强问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#与C++哪个更强”的疑惑有

    攻略 2021年11月29日
  • Vue单页面组件mapbox gl怎么用

    技术Vue单页面组件mapbox gl怎么用这篇文章给大家分享的是有关Vue单页面组件mapbox gl怎么用 的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用Vue开发地图的时候,鉴于也

    攻略 2021年12月3日
  • Android开发中常用到的工具类有哪些

    技术Android开发中常用到的工具类有哪些这篇文章给大家介绍Android开发中常用到的工具类有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。作为一个程序员界的新晋司机,也是时候整理一些东西了

    攻略 2021年11月26日
  • Oracle执行计划中常见index访问方式有哪些

    技术Oracle执行计划中常见index访问方式有哪些小编给大家分享一下Oracle执行计划中常见index访问方式有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧![SQL]SELECT COUNT

    攻略 2021年11月20日
  • qq提醒,QQ有没有群的提醒功能

    技术qq提醒,QQ有没有群的提醒功能1qq提醒、对某一好友添加定时提醒功能:、打开手机QQ,进入与好友的聊天窗口,点击最下面的“+”按钮打开扩展面板,点击“提醒”功能。  2、在打开的“创建提醒”界面中,输入“提醒内容”

    生活 2021年10月30日