从两层设计思维转向三层设计思维
2015-01-05 20:27
239 查看
传统的两层编程思维是这样的
界面的设计、业务逻辑的设计、数据库的链接都放在一起实现。
总体来说,两层的编程主要有如下特点
数据库访问和用户类型判断逻辑放在一起实现。
用户界面层直接调用数据访问实现。
[b] 用户界面层直接调用数据访问实现。[/b]
这种结构存在着很多局限性,比如:一旦用户的需求发生变化,应用程序都需要进行大量修改,甚至需要重新开发,给系统的维护和升级带来了极大的不便;用户界面层直接访问数据库,会带来很多安全隐患。为了克服两层结构的局限性提出了三层结构。
而所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。
三层结构图是这样的
用户界面层、业务逻辑层、数据访问层这是三层。
可是大家也看到像数据对象模型这个又是个什么神奇的呢?
这篇博客可以参考一下。
http://www.cnblogs.com/sdjxcolin/archive/2008/12/12/1353780.html
当然在做项目的时候,只有三层是完不成基本的项目的,还需要添加依赖关系,各个层之间需要添加对各个层之间的依赖关系,这是学习三层最基本的操作。
添加的引用关系如下
添加表示层对业务逻辑层、数据访问层和数据对象模型层的依赖。
添加业务逻辑层对数据访问层和数据对象模型层的依赖。
添加数据访问层对数据对象模型层的依赖。
三层设计是我们走向编程正规之路的开始,需要理解好。三层虽然说是写的代码比较多,但是有众多众多的优点:
数据访问层只负责提供原原始数据,并不需要了解业务逻辑;业务逻辑层调用数据访问层提供的方法自定义一些业务逻辑,对数据进行加工,本身不需要了解数据访问层的实现;表示层直接调用业务逻辑提供的方法把数据呈现给用户。
三层结构的优点在于不必为了业务逻辑上的微小变化而迁至整个程序的修改,只需要修改商业逻辑层中的一个函数或一个过程;增强了代码的可重用性;便于不同层次的开发人员之间的合作,只要遵循一定的接口标准就可以进行并行开发了,最终只要将各个部分拼接到一起构成最终的应用程序。
界面的设计、业务逻辑的设计、数据库的链接都放在一起实现。
总体来说,两层的编程主要有如下特点
数据库访问和用户类型判断逻辑放在一起实现。
用户界面层直接调用数据访问实现。
[b] 用户界面层直接调用数据访问实现。[/b]
这种结构存在着很多局限性,比如:一旦用户的需求发生变化,应用程序都需要进行大量修改,甚至需要重新开发,给系统的维护和升级带来了极大的不便;用户界面层直接访问数据库,会带来很多安全隐患。为了克服两层结构的局限性提出了三层结构。
而所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。
三层结构图是这样的
用户界面层、业务逻辑层、数据访问层这是三层。
可是大家也看到像数据对象模型这个又是个什么神奇的呢?
这篇博客可以参考一下。
http://www.cnblogs.com/sdjxcolin/archive/2008/12/12/1353780.html
当然在做项目的时候,只有三层是完不成基本的项目的,还需要添加依赖关系,各个层之间需要添加对各个层之间的依赖关系,这是学习三层最基本的操作。
添加的引用关系如下
添加表示层对业务逻辑层、数据访问层和数据对象模型层的依赖。
添加业务逻辑层对数据访问层和数据对象模型层的依赖。
添加数据访问层对数据对象模型层的依赖。
三层设计是我们走向编程正规之路的开始,需要理解好。三层虽然说是写的代码比较多,但是有众多众多的优点:
数据访问层只负责提供原原始数据,并不需要了解业务逻辑;业务逻辑层调用数据访问层提供的方法自定义一些业务逻辑,对数据进行加工,本身不需要了解数据访问层的实现;表示层直接调用业务逻辑提供的方法把数据呈现给用户。
三层结构的优点在于不必为了业务逻辑上的微小变化而迁至整个程序的修改,只需要修改商业逻辑层中的一个函数或一个过程;增强了代码的可重用性;便于不同层次的开发人员之间的合作,只要遵循一定的接口标准就可以进行并行开发了,最终只要将各个部分拼接到一起构成最终的应用程序。
相关文章推荐
- 基于WWW的可视化设计环境的思维碎片(一)
- 敏捷思维-架构设计中的方法学
- 谈谈架构设计的思维方式
- 敏捷思维-架构设计中的方法学(6)迭代设计
- 敏捷思维-架构设计中的方法学(10)分层 (下)
- 敏捷思维-架构设计中的方法学(7)组合使用模式
- 关于三层设计
- 敏捷思维-架构设计中的方法学(3)源自需求
- 敏捷思维-架构设计中的方法学(5)简单设计
- 两层和三层的讨论
- 经典的三层设计
- (转宝贝记).net 框架设计 签名系统三层架构
- .net 框架设计 签名系统三层架构
- Effective C++:改善程序技术与设计思维的55个有效做法(第三版)(中文版)(预订)Effective C++ 3RD
- 敏捷思维-架构设计中的方法学
- 三层结构数据层如何设计
- .:::::利用Delphi实现两层C/S数据库应用程序设计简介 :::::.
- 有关“猫”的设计题目,开阔思维。
- 敏捷思维-架构设计中的方法学(9)分层 (上)
- 敏捷思维-架构设计中的方法学(11)精化和合并