浅说微软的宠物商店三层架构.docVIP

  • 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!

文档评论(0)

1亿VIP精品文档

相关文档