- 10
- 0
- 约1.28千字
- 约 2页
- 2019-08-10 发布于湖北
- 举报
浅说微软的宠物商店---三层架构
最近因为某种需要,我研究了一下微软的”宠物商店”----PetShop.
别说微软的这个宠物店开的还是颇有一定的艺术色彩的,其中一些设计与开发理念是很值得我学习。当然啦,逛过这个宠物店我算是收获颇多的嘿。
下面就说说吧 —— GO !
怎么说呢,在软件体系架构设计中,分层式结构现已是司空见惯了哈,也是重要的一种设计理念了。同样,微软作为行业的大脚也不甘示弱了嘿,他所推荐的分层式结构一般为三层,依次:数据访问层、业务逻辑层、表现层,如下图:
数据访问层:其功能主要是负责数据库的访问了啦。简单点说就是实现对数据表的select、insert、update、delete 等操作。
业务逻辑层:貌似是整个体系设计的核心唉,它是与这个实际系统的业务领域有关滴。就那微软的宠物商店来说吧,业务逻辑层的相关设计,当然是和网上宠物店特有的逻辑领域相关哦,比如查询宠物、宠物订单、添加宠物到购物车等等么。如果涉及到数据库访问,则调用数据访问层。
表现层:是系统的UI部分,负责用户与整个系统的交互。在这里,梦想的状态是不包括系统的业务逻辑的。表示层中的逻辑代码,仅仅是和界面元素有关而已。
借用一下网上其他LZ的说法,分层式设计可以达到一下目的:分散关注、松散耦合、逻辑复用、标准定义= =
可是这几天我自己在搭建工厂模式+三层架构时却感觉到一些他的弊端:“金无足赤”?
比如最深刻的就是:有时候会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表现层中的需要增加一个功能的话,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中增加相应的代码。同样,如果物理数据结构有所变动的话,数据访问层就会产生不同程度上的级联修改。
下面给几个自己的理解图:
1、数据访问层的模块结构图
DALFactory
DALFactory
IDAL
Model
SqlServerDAL
OtherServerDAL
不同数据库实现IDAL接口
数据访问层的接口程序集
创建DAL抽象工厂
数据访问层依赖的数据对象
可以看到,在数据访问层中完全采用了“面向接口编程”的思想。抽象出来的IDAL模块摆脱了对具体数据库的依赖了,从而使得整个数据访问层利于数据库迁移。DALfactory模块专门就是管理DAL对象的创建,便于业务逻辑层访问。更加的降低了各个层之间的耦合度。
2、业务逻辑层模块结构图
BLL
BLL
业务逻辑层,系统核心业务代码
DALFactory
IDAL
Model
我觉得业务逻辑层是系统的核心,它包含了整个系统的核心业务。在业务逻辑层中,不能直接访问数据库,必须是通过数据访问层,注意图中对数据访问业务是通过IDAL接口模块来实现的。这里同样是松散耦合的效果。
3、表示层模块结构图
UI
UI
BLL
这里就不详述了哈。界面调用业务逻辑层,我就这么简单认为滴了。
后记:真的,这几天我感觉我老了似的,但是呢我感受到了设计模式的优雅。虽然还有很多不懂。但我体会到了,加油嘿。-----GO!
您可能关注的文档
- 陈春花中国企业须转型做价值型增长企业.doc
- 陈好雅思阅读考试要求的四大技能——高中篇12.doc
- 电动车人才网.doc
- 读书清单三中文相关书目.doc
- 服务外包论文.doc
- 福州讯立洁商贸有限公司采购合同1.docx
- 私募股权基金.docx
- 法第一章导论.ppt
- 浅谈如何提升驻村干部的沟通能力及应用.doc
- 称重传感器行业的发展方向.ppt
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
原创力文档

文档评论(0)