- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)