Q:简述三层架构:1)哪三层,各层的功能是什么,三层之间的依赖关系,运行的逻辑关系?2)为什么要用三层架构,好处在哪里?3)举一个例子说明一个是如何完成的?
1)表现层,通俗点讲就是展现给用户的页面,用于显示数据和接受用户输入的数据,为用户提供一种交互式操作的界面;业务逻辑层是系统架构中体现核心价值的部分,它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求相关的系统设计,它是针对具体问题的操作,也可以说是对数据的操作。数据访问层主要是对数据库的操作,对数据表进行查找、插入、删除、更新等操作;表现层依赖业务逻辑层和数据访问模型,数据访问模型谁都不依赖,数据访问接口依赖数据访问模型,而数据访问层又依赖此模型和此接口,最后业务逻辑层依赖数据访问模型、数据访问接口和数据访问层。运行时从上到下调用;
2)三层架构的优点:
a)开发人员可以只关注整个结构中的其中某一层;
b)可以很容易的用新的实现来替换原有层次的实现;
c)可以降低层与层之间的依赖;
d)有利于标准化;
e)利于各层逻辑的复用。
缺点:a)降低了系统的性能。如果不采用分层式结构,很多业务可以直接访问数据库获取相应的数据,如今却必须通过中间层来完成;b)有时会导致级联的修改。体现在自上而下的方向。如果在表示层中增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
3)ASP.NET 可以使用.NET平台快速方便的部署三层架构。ASP.NET革命性的变化是在网页中也使用基于事件的处理,可以指定处理的后台代码文件,可以使用C#作为后台代码的语言。.NET中可以方便的实现组件的装配,后台代码通过命名控件可以方便的使用自己定义的组件。显示层放在 ASP页面中,数据库操作和逻辑层用组件来实现,这样就很方便的实现了三层架构。