三层架构
2015-08-02 19:09
435 查看
三层架构
DAL
DAL并不是用来根据业务需求而扩展的,它是用来控制你的数据库与OOP的映射机制的。如果你因为业务原因而需要写查询,这完全是BLL的功能。BLL
逻辑层UI
界面层MODEL
数据库中的表,相当于给数据库表中每一列建立一个实体对象。优点:
1、开发人员可以只关注整个结构中的其中某一层; 2、可以很容易的用新的实现来替换原有层次的实现;3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。
6、扩展性强。不同层负责不同的层面,如PetShop可经过简单的配置实现Sqlserver和oracle之间的转换,当然写好了也可以实现B/S与C/S之间的转换
7、安全性高。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。
8、项目结构更清楚,分工更明确,有利于后期的维护和升级
高内聚,低耦合:内聚:一个模块内各个元素彼此结合的紧密程度;耦合:一个软件结构内不同模块之间互连程度的度量
缺点:
1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码
相关文章推荐
- 技术学习网站收藏推荐(CodeProject , MSDN 等)
- 天亮舆情系统-架构设计-01
- 高清屏的背景图片适配
- 【Angular JS】网站使用社会化评论插件,以及过程中碰到的坑
- IIS-IIS服务器,发布网站:出错版本问…
- 高可用可伸缩架构实用经验谈
- 前端在线demo网站
- 浅谈iOS中MVVM的架构设计与团队协作
- ABP分层架构
- LAMP网站架构方案分析
- yarn架构-概述
- 加快网站访问速度
- [转]GFS架构分析
- corosync+pacemaker+主从模式drbd构建高可用mysql
- Windows Azure 故障转移模式及高可用个模式探讨!
- 网站服务架构(转)
- RESTful架构详解(转)
- 【转】全Javascript的Web开发架构:MEAN和Yeoman【译】
- Android开发时你遇到过什么相见恨晚的工具或网站?
- 【Android多媒体】多媒体架构-Android官网