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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅说微软的宠物商店---三层架构 最近因为某种需要,我研究了一下微软的”宠物商店”----PetShop. 别说微软的这个宠物店开的还是颇有一定的艺术色彩的,其中一些设计与开发理念是很值得我学习。当然啦,逛过这个宠物店我算是收获颇多的嘿。 下面就说说吧 —— GO ! 怎么说呢,在软件体系架构设计中,分层式结构现已是司空见惯了哈,也是重要的一种设计理念了。同样,微软作为行业的大脚也不甘示弱了嘿,他所推荐的分层式结构一般为三层,依次:数据访问层、业务逻辑层、表现层,如下图: 数据访问层:其功能主要是负责数据库的访问了啦。简单点说就是实现对数据表的select、insert、update、delete 等操作。 业务逻辑层:貌似是整个体系设计的核心唉,它是与这个实际系统的业务领域有关滴。就那微软的宠物商店来说吧,业务逻辑层的相关设计,当然是和网上宠物店特有的逻辑领???相关哦,比如查询宠物、宠物订单、添加宠物到购物车等等么。如果涉及到数据库访问,则调用数据访问层。 表现层:是系统的UI部分,负责用户与整个系统的交互。在这里,梦想的状态是不包括系统的业务逻辑的。表示层中的逻辑代码,仅仅是和界面元素有关而已。 借用一下网上其他LZ的说法,分层式设计可以达到一下目的:分散关注、松散耦合、逻辑复用、标准定义= = 可是这几天我自己在搭建工厂模式+三层架构时却感觉到一些他的弊端:“金无足赤”? 比如最深刻的就是:有时候会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表现层中的需要增加一个功能的话,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中增加相应的代码。同样,如果物理数据结构有所变动的话,数据访问层就会产生不同程度上的级联修改。 下面给几个自己的理解图: 1、数据访问层的模块结构图 DALFactory IDAL Model SqlServerDAL OtherServerDAL 不同数据库实现IDAL接口 数据访问层的接口程序集 创建DAL抽象工厂 数据访问层依赖的数据对象 可以看到,在数据访问层中完全采用了“面向接口编程”的思想。抽象出来的IDAL模块摆脱了对具体数据库的依赖了,从而使得整个数据访问层利于数据库迁移。DALfactory模块专门就是管理DAL对象的创建,便于业务逻辑层访问。更加的降低了各个层之间的耦合度。 2、业务逻辑层模块结构图 BLL 业务逻辑层,系统核心业务代码 DALFactory IDAL Model 我觉得业务逻辑层是系统的核心,它包含了整个系统的核心业务。在业务逻辑层中,不能直接访问数据库,必须是通过数据访问层,注意图中对数据访问业务是通过IDAL接口模块来实现的。这里同样是松散耦合的效果。 3、表示层模块结构图 UI BLL 这里就不详述了哈。界面调用业务逻辑层,我就这么简单认为滴了。 后记:真的,这几天我感觉我老了似的,但是呢我感受到了设计模式的优雅。虽然还有很多不懂。但我体会到了,加油嘿。-----GO!

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档