Pet shop 4的三层架构

Pet shop 4的三层架构


用visual sudio2005中打开Pet shop解决方案后(开始菜单 | 所有程序 | Microsoft .NET Pet Shop 4 | Petshop.sln)吓了一跳,共有22个项目。看了看项目名称有web,bll,dal,model字样,嘿嘿,又是三层架构(之前学习过Duwamish)。微软推荐的分层式结构一般分为三层,从上至下分别为:表示层,业务逻辑层,数据访问层。除此之外还有一个数据存储层。如下图所示:
Pet shop 4的三层架构
表示层:这一层负责与用户的交互。
业务逻辑层: 这一层实现解决方案的业务逻辑。
数据访问层: 这一层封装访问持续的数据存储的代码。
优点:
1、开发人员可以只关注整个结构中的其中某一层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。
就说到这里有关企业解决方案模式的相关知识参见
http://www.microsoft.com/china/MSDN/library/architecture/patterns/esp/espdefault.mspx。决定学习petshop之前还是先理清它的三层架构再说,先找一个最简单的模块入手(我通常都是通过这种方式读别人的代码)吧,打开首页如图所示:
Pet shop 4的三层架构
首先显示的就是宠物分类信息。就拿它开刀吧。在default.aspx中查了一下。宠物分类通过NavigationControl的用户控件实现。详细静态结构图如下:
Pet shop 4的三层架构
在数据访问层使用了工厂模式(有关设计模式方面的知识),也是23种设计模式中最长用的一种,你无须对系统结构变更,添加相应的类,实现IDAL接口便可以很容易的实现对Access,db2等数据库的支持(在petshop4中实现对Access,db2等数据库的支持,可能还会涉及到其他模块内容的变动,如Membership。在这里就我们 现在所接触到的内容我们姑且先这么说了)。
 将静态结构图抽象一下我们可以得到Pet Shop 4 模块结构图
Pet shop 4的三层架构
以上UML模型图用visio做图,看看别人的模型图还可以,可真正自己画起来挺费力气,阅读此文章的朋友,不知您的开发水平的如何,建议有些开发经验的朋友有时间应该看看UML建模和设计模式相关的书籍,相信您一定会受益菲浅,以前用Delphi做C/S架构应用程序开发,充其量也就是了解一下面向对象的编程思想,我也是在接触.Net开发后,了解三层架构后才接触到设计模式和数据建模,嗨!起步晚了一些.在这里就现学现卖了,有什么问题,希望大家指正,就写道这里.

你可能感兴趣的:(架构)