软件体系结构.pdf

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

软软件件体体系系结结构构

软软件件体体系系结结构构

质质量量属属性性::

开发期质量:可扩展性,可复⽤性,可维护性等;

运⾏期质量:正确性,健壮性,性能,可性,容错性,易⽤性,安全性,可移植性,兼容性。

设计原则:

1.⾯向接⼝编程(Programtointerfaces,nottoimplementations)

2.多⽤组合,少⽤继承(Favorcompositionoverinheritance)

3.PrincipleofLeastKnowledge(LawofDemeter

4.单⼀职责原则(SingleResponsibilityPrinciple):就⼀个类⽽⾔,应该仅有⼀个引起它变化的原因。

5.开闭原则(Open-ClosedPrinciple):软件实体对扩展是开放的,但对修改是关闭的,即在不修改⼀个软件实体的基础上去扩展其功能。抽象化是开闭原则的关键

6.⾥⽒代换原则(LiskovSubstitutionPrinciple):在软件系统中,⼀个可以接受基类对象的地⽅必然可以接受⼀个⼦类对象。⾥⽒代换原则是实现开闭原则的重要⽅

法之⼀。

7.依赖倒置原则(DependencyInversionPrinciple):要针对抽象层编程,⽽不要针对具体类编程。实现开闭原则的关键是抽象化,并且从抽象导出具体化实现,如果

说开闭原则是⾯向对象设计的⽬标的话,那么依赖倒置原则就是⾯向对象设计的主要⼿段。依赖注⼊:构造注⼊,设置注⼊,接⼝注⼊

8.接⼝隔离原则(InterfaceSegregationPrinciple):使⽤多个专门的接⼝来取代⼀个统⼀的接⼝。

9.分离关注点(PrincipleofSeparationofConcerns):Organizesoftwareintoseparatecomponents(piecesthatareasindependentaspossible.

软软件件风风格格::

Model-View-Controller(pattern

MVC模式(Model-view-controller)是软件⼯程中的⼀种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和

控制器(Controller)

MCV模式的⽬的是实现⼀种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某⼀部分的重复利⽤成为可能。

控制器(Controller):负责转发请求,对请求进⾏处理。

试图(View):界⾯设计⼈员进⾏图形界⾯设计。

模型(Model):程序员编写程序应有的功能(实现算法等等)、数据专家进⾏数据管理和数据库设计(可以实现具体的功能)

将应⽤程序划分为三种组件,模型-试图-控制器(MVC)设计定义它们之间的相互作⽤。

模型(Model):⽤于封装与应⽤程序的业务逻辑相关的数据以及数据的处理⽅法。Model有对数据直接访问的权利,例如对数据库的访

问。Model不依赖View和Controller,也就是说,Model不关⼼它会被如何显⽰或是如何被操作。但是Model中数据的变化⼀般会通过⼀

种刷新机制被公布。为了实现这种机制,那些勇于监视此Model的View必须事前在此Model上注册,从⽽,View可以了解在数据Model上发

⽣的改变。

视图(View)能够实现数据有⽬的的显⽰(理论上,这不是必需的)。在View中⼀般没有程序上的逻辑。为了实现View上的刷新功

能,View需要访问它监视的数据模型(Model),因此应该事前在被它监视的数据那⾥注册。

控制器(Controller)起到了额不同层⾯间的组织作⽤,⽤于控制应⽤程序的流程。它处理事件并作出响应。事件包括⽤户的⾏为和数据

Model上的改变。

实例Java平台上实现的MVC模型

视图(View)

在J2EE应⽤程序中,视图(View)可能由JavaServerPage(JSP)担任。⽣成View的代码则可能是⼀个servlet的⼀部分,特别是在客户

端服务端交换的时候。

控制器(Controller)

J2EE应⽤中,Controller可能是⼀个servlet。除了可直接以J2EE来撰写外,亦可⽤其他

文档评论(0)

138****8242 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档