1 / 33
文档名称:

PetShop的系统架构设计说明.docx

格式:docx   大小:245KB   页数:33页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

PetShop的系统架构设计说明.docx

上传人:maritime_4 2022/4/1 文件大小:245 KB

下载得到文件列表

PetShop的系统架构设计说明.docx

相关文档

文档介绍

文档介绍:PetShop的系统架构设计
、PetShop的系统架构设计在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层〔乂或成为领域层〕、表示层,如图所示:
ory
OraideDAAB
OracleDAL
SQLSeiver
DAL
SQL睥日
图四:
,但在性能上作了一定的改进,引入了缓存和异步处理机制,,:
iw
Presemaiion
Cwponwin
Bitfiti
5g8er匕gC恤?
由MXDAL
汨L醐皿MS
Ondt响n耕增6«tb»e
S曲
tehMg
Ujp
迥JDISQLW
Qtah响
Omt
SOONSQL
MMbilmbeir^OCivile
FUBfp
图五:
,其核心的内容并没有发生变化。在数据访问层
〔DAU中,仍然采用DALInterface抽象出数据访问逻辑,并以DALFactory作为数据访问层对象的工厂模块。对丁DALInterface而言,分别有支持MS-SQL的SQLServerDAL和支持Oracle的OracleDAL具体实现。而Model模块则包含了数据实体对象。其详细的模块结构图如下所示:
翼据访问口的接口程序累
DALF^ctory
|\」捂久是甜舟欠对象性,没有行为“SQLS^rverDAL
OradeDAL
斯同Oracle故挹!轧卜TIDAL的接口.
图六:数据访问层的模块结构图可以看到,在数据访问层中,完全采用了”面向接口编程”思想。抽象出来的IDAL模块,脱离了与具体数据库的依赖,从而使得整个数据访问层利丁数据库迁移。
DALFactory模块专门管理DALM象的创建,便丁业务逻辑层访问。SQLServerDAL和OracleDAL模块均实现IDAL模块的接口,其中包含的逻辑就是对数据库的Select,Insert,Update和Delete操作。因为数据库类型的不同,对数据库的操作也有所不同,代码也会因此有所区别。
此外,抽象出来的IDAL模块,除了解除了向下的依赖之外,对丁其上的业务逻辑层,同样仅存在弱依赖关系,如下图所示:
图七中BLL是业务逻辑层的核心模块,它包含了整个系统的核心业务。在业务逻辑层中,不能直接访问数据库,而必须通过数据访问层。注意图中对数据访问业务的调用,是通过接口模块IDAL来完成的。既然与具体的数据访问逻辑无关,则层与层之间的关系就是松散耦合的。如果此时需要修改数据访问层的具体实现,只要不涉及到IDAL的接口定义,那么业务逻辑层就不会受到任何影响。毕竟,具体实现的SQLServerDA前OracalDAL根本就与业务逻辑层没有半点关系。
。插入订单的策略可以分为同步和异步,两者的插入策略明显不同,但对丁调用者而言,。虽然在旧LLStrategy模块中,仅仅是简单的lOrderStategy,但同时也给出了一个范例和信息,那就是在业务逻辑的处理中,如果存在业务操作的多样化,或者是今后可能的变化,均应利用抽象的原理。或者使用接口,或者使用抽象类,从而脱离对具体业务的依赖。不过在PetShop中,由丁业务逻辑相对简单,这种思想体现得不够明显。也正因为此,PetShop将核心的业务逻辑都放到了一个模块BLL中,并没有将具体的实现和抽象严格的按照模块分开。所以表示层和业务逻辑层之间的调用关系,其耦合度相对较高:
WebComponent图八:表示层的模块结构图在图五中,各个层次中还引入了辅助的模块,如数据访问层的Messaging模块,是为异步插入订单的功能提供,采用了MSMIQMicrosoftMessagingQueue〕技术。而表示层的CacheDependenc观提供缓存功能。这些特殊的模块,我会在此后的文章中详细介绍。
2、PetShop数据访问层之数据库访问设计PetShop数据访问层之数据库访问设计Filedunder:Design&Pattern—brucezhang1:50pm
《解剖PetShop»系歹U之二二、PetShop数据访问层之数据库访问设计在系列一中,我从整体上分析了PetShop的架构设计,并提及了分层的概念。从本部分开始,我将依次对各层进行代码级