ImageVerifierCode 换一换
格式:PPT , 页数:38 ,大小:715.50KB ,
资源ID:15408387      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15408387.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(架构设计基本原则优质PPT.ppt)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

架构设计基本原则优质PPT.ppt

1、它的具体实现,可能是接口,可能是面上起着接合作用语义体。它的具体实现,可能是接口,可能是抽象类,甚至可能是具体类。抽象类,甚至可能是具体类。ll从不同的视角,接口可以有以下两种定义:从不同的视角,接口可以有以下两种定义:1.1.接口是一组规则的集合,它规定了实现本接口的类或接口接口是一组规则的集合,它规定了实现本接口的类或接口必须拥有的一组规则。体现了自然界必须拥有的一组规则。体现了自然界“如果你是如果你是则必须能则必须能”的理念。的理念。2.2.接口是在一定粒度视图上同类事物的抽象表示。注意这里接口是在一定粒度视图上同类事物的抽象表示。注意这里我强调了在一定粒度视图上,因为我强调了在一定粒度

2、视图上,因为“同类事物同类事物”这个概念是相对这个概念是相对的,它因为粒度视图不同而不同。的,它因为粒度视图不同而不同。ll具体到具体到NN层架构中,针对接口编程的意义在部分上是这样的:层架构中,针对接口编程的意义在部分上是这样的:现仍约定将现仍约定将NN层架构的各层依次编号为层架构的各层依次编号为11、22、KK、N-N-11、NN,其中层的编号越大,则越处在上层,那么第,其中层的编号越大,则越处在上层,那么第KK层不应该依层不应该依赖具体一个赖具体一个K-1K-1层,而应该依赖一个层,而应该依赖一个K-1K-1层的接口,即在第层的接口,即在第KK层中层中不应该有不应该有K-1K-1层中的某

3、个具体类。层中的某个具体类。依赖倒置原则依赖倒置原则 ll在软件设计原则中,有一种重要的思想叫做依赖倒置。在软件设计原则中,有一种重要的思想叫做依赖倒置。它的核心思想是:不能让高层组件依赖底层组件,而它的核心思想是:不能让高层组件依赖底层组件,而且,不管高层组件和底层组件,两者都应依赖于抽象。且,不管高层组件和底层组件,两者都应依赖于抽象。那么,这个原则和我们上面的原则是否矛盾呢?其实并不矛盾。因为这个原则定义中的因为这个原则定义中的“依赖依赖”是指是指“具体依赖具体依赖”,而上面定义中的依赖全部指,而上面定义中的依赖全部指“抽象依赖抽象依赖”。我对。我对这两种依赖的定义如下:这两种依赖的定义

4、如下:具体依赖具体依赖如果如果P P层中有一个或一个以上的地方层中有一个或一个以上的地方实例化了实例化了Q Q层中某个具体类,则说层中某个具体类,则说P P层具体依赖于层具体依赖于Q Q层。层。抽象依赖抽象依赖如果如果P P层没有实例化层没有实例化Q Q层中的具体类,层中的具体类,而是在一个或一个以上的地方实例化了而是在一个或一个以上的地方实例化了Q Q层中某个接口,层中某个接口,则说则说P P层抽象依赖于层抽象依赖于Q Q层,也叫接口依赖于层,也叫接口依赖于Q Q层。依赖倒置原则依赖倒置原则ll从这两个定义可以看到,所谓的依赖倒置原则,从这两个定义可以看到,所谓的依赖倒置原则,正是上面提到针

5、对接口编程,而不是针对实现正是上面提到针对接口编程,而不是针对实现编程,两者在本质上是统一的。编程,两者在本质上是统一的。综上所述,可以看出,本课题设计的分层综上所述,可以看出,本课题设计的分层架构,应该是这样一种架构:架构,应该是这样一种架构:1.N1.N层架构的各层依次编号为层架构的各层依次编号为1 1、2 2、K K、N-1N-1、N N,其中层的编号越大,则越处在,其中层的编号越大,则越处在上层。上层。2.2.架构中仅存在一种依赖,即第架构中仅存在一种依赖,即第K K层接口层接口依赖第依赖第K-1K-1层,其中层,其中1K=N1K=N。封装变化原则封装变化原则ll封装变化的原则定义为:

6、找出应用中可封装变化的原则定义为:找出应用中可能需要变化之处,把它们独立出来,不能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混杂在一起。要和那些不需要变化的代码混杂在一起。开放开放-关闭原则关闭原则ll开发开发-关闭原则定义为:对扩展开放,对关闭原则定义为:对扩展开放,对修改关闭。修改关闭。具体到具体到N N层架构中,可以描述为:当层架构中,可以描述为:当某一层有了一个新的具体实现时,它应某一层有了一个新的具体实现时,它应该可以在不修改其他层的情况下,与此该可以在不修改其他层的情况下,与此新实现无缝连接,顺利交互。新实现无缝连接,顺利交互。单一归属原则单一归属原则ll在这个架构中

7、,任何一个操作类都应该在这个架构中,任何一个操作类都应该有单一的职责,属于单独的一层,而不有单一的职责,属于单独的一层,而不能同时担负两种职责或属于多个层次能同时担负两种职责或属于多个层次(实体类及辅助类可以被多个层使用,(实体类及辅助类可以被多个层使用,但它们不属于任何一个层,而是独立存但它们不属于任何一个层,而是独立存在)。在)。层次划分层次划分层次划分层次划分 ll目前,典型的分层架构是三层架构,即目前,典型的分层架构是三层架构,即自底向上依次是数据访问层、业务逻辑自底向上依次是数据访问层、业务逻辑层和表示层。层和表示层。这种经典架构经历了时间的考验和这种经典架构经历了时间的考验和实践的

8、多次检验,被认为是合理、有效实践的多次检验,被认为是合理、有效的分层设计,所以,在本文中,将沿袭的分层设计,所以,在本文中,将沿袭这种经典架构,使用数据访问层、业务这种经典架构,使用数据访问层、业务逻辑层和表示层的三层架构体系。逻辑层和表示层的三层架构体系。职责划分职责划分职责划分职责划分ll数据访问层数据访问层负责与数据源的交互,即数据的插入、负责与数据源的交互,即数据的插入、删除、修改以及从数据库中读出数据等操作。对数据删除、修改以及从数据库中读出数据等操作。对数据的正确性和有效性不负责,对数据的用途不了解,不的正确性和有效性不负责,对数据的用途不了解,不负担任何业务逻辑。负担任何业务逻辑

9、。ll业务逻辑层业务逻辑层负责系统领域业务的处理,负责逻辑负责系统领域业务的处理,负责逻辑性数据的生成、处理及转换。对流入的逻辑性数据的性数据的生成、处理及转换。对流入的逻辑性数据的正确性及有效性负责,对流出的逻辑性数据及用户性正确性及有效性负责,对流出的逻辑性数据及用户性数据不负责,对数据的呈现样式不负责。数据不负责,对数据的呈现样式不负责。ll表示层表示层负责接收用户的输入、将输出呈现给用户负责接收用户的输入、将输出呈现给用户以及访问安全性验证。对流入的数据的正确性和有效以及访问安全性验证。对流入的数据的正确性和有效性负责,对呈现样式负责,对流出的数据正确性不负性负责,对呈现样式负责,对流

10、出的数据正确性不负责,但负责在数据不正确时给出相应的异常信息。责,但负责在数据不正确时给出相应的异常信息。模块划分及交互设计模块划分及交互设计模块划分及交互设计模块划分及交互设计ll实体类模块:一组实体类的集合,负责整个系统中数据的封装及传递。实体类模块:ll数据访问层接口族:一组接口的集合,表示数据访问层的接口。数据访问层接口族:ll业务逻辑层接口族:一组接口的集合,表示业务逻辑层的接口。业务逻辑层接口族:ll数据访问层模块:一组类的集合,完成数据访问层的具体功能,实现数数据访问层模块:一组类的集合,完成数据访问层的具体功能,实现数据访问层接口族。据访问层接口族。ll业务逻辑层模块:一组类的

11、集合,完成业务逻辑层的具体功能,实现业业务逻辑层模块:一组类的集合,完成业务逻辑层的具体功能,实现业务逻辑层接口族。务逻辑层接口族。ll表示层模块:程序及可视元素的集合,负责完成表示层的具体功能。表示层模块:llIoCIoC容器模块:负责依赖注入的实现。容器模块:ll辅助类模块:完成全局辅助性功能。辅助类模块:模块划分及交互设计模块划分及交互设计模块划分及交互设计模块划分及交互设计ll各各模模块块见见交交互互关关系系如如下下实体类的设计与实现实体类的设计与实现 ll实体类是现实实体在计算机中的表示。它贯穿实体类是现实实体在计算机中的表示。它贯穿于整个架构,负担着在各层次及模块间传递数于整个架构

12、,负担着在各层次及模块间传递数据的职责。据的职责。ll一般来说,实体类可以分为一般来说,实体类可以分为“贫血实体类贫血实体类”和和“充血实体类充血实体类”,前者仅仅保存实体的属性,前者仅仅保存实体的属性,而后者还包含一些实体间的关系与逻辑。而后者还包含一些实体间的关系与逻辑。ll大多情况下,实体类和数据库中的表(这里指大多情况下,实体类和数据库中的表(这里指实体表,不包括表示多对多对应的关系表)是实体表,不包括表示多对多对应的关系表)是一一对应的,但这并不是一个限制,在复杂的一一对应的,但这并不是一个限制,在复杂的数据库设计中,有可能出现一个实体类对应多数据库设计中,有可能出现一个实体类对应多

13、个表,或者交叉对应的情况。个表,或者交叉对应的情况。系统的工程结构系统的工程结构 ll在初始阶段,整个系统包括在初始阶段,整个系统包括6 6个工程,它们的职责是这个工程,它们的职责是这样的:样的:WebWeb表示层表示层 EntityEntity存放实体类存放实体类 FactoryFactory存放和依赖注入及存放和依赖注入及IoCIoC相关的类相关的类 IBLLIBLL存放业务逻辑层接口族存放业务逻辑层接口族 IDALIDAL存放数据访问层接口族存放数据访问层接口族 UtilityUtility存放各种工具类及辅助类存放各种工具类及辅助类 这只是一个初期架构,主要是将整个系统搭一个这只是一个初期架构,主要是将整个系统搭一个框架,在后续开发中,将会有其他工程被陆陆续续添框架,在后续开发中,将会有其他工程被陆陆续续添加进来。加进来。实体类将放在实体类将放在EntityEntity工程下工程下 接口的设计与实现接口的设计与实现 ll对于接口的设计。这里包括数据访问层接口和业务逻对于接口的设计。这里包括数据访问层接口和业务逻辑层接口。在分层架构中,接口扮演着非常重要的角辑层接口。在分层架构中,接口扮演着非常重要的角色,它不但直接决定了各层中的各个操作类需要实现色,它不但直接决定了各

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1