表示层(UI):显示的界面,用户浏览和输入。
业务逻辑层(BLL):对用户输入的数据进行处理;对从数据访问层获取的数据进行处理。
数据访问层(DLL):从数据库或其他地方获取原始数据。
Model层(实体类):让对象和表形成映射关系。Model层属于辅助作用。
分层的好处:实现“高内聚,低耦合”。采用“分而治之”的思想,把问题划分开来各个解决,易于控制,延展和分配资源。
三层结追求的目标:修改表现层而不用修改逻辑层,修改逻辑层而不用修改数据层。
比如:表示层输入参数增加,传入BLL的应该是一个实体比较好,BLL传入DAL也是一个实体。如果是传入参数的话,BLL和DAL中的参数都都增加。
现实中我们往往习惯把这些检查代码放在UI层,其实是不对的,因为没有分离逻辑代码,使UI层臃肿而BLL层的代码很少,从而造就了BLL层看起来像是“多余的”。
三层优缺点:
优点:
1.可以降低层与层之间的依赖;开发人员可以只关注其中某一层。
2.可以很容易的用新的实现来替换原有层次的实现。
3.利于各层逻辑的复用。
4.有利于标准化。
缺点:
1.性能降低,访问速度稍慢。
2.级联修改。
站外扩展阅读:
原文:http://www.cnblogs.com/zxx193/p/3759337.html