电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

软件体系结构设计模式VIP免费

软件体系结构设计模式_第1页
1/54
软件体系结构设计模式_第2页
2/54
软件体系结构设计模式_第3页
3/54
INTELCONFIDENTIAL设计模式主讲:张春祥2HUSTSoftwareCollege模式•模式描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。----《建筑的永恒之道》Alexander•模式其实就是解决某一类问题的方法论。•把解决某类问题的方法总结归纳到理论高度,那就是模式。•模式对问题的描述以及对问题的解答应具有高度的抽象性和代表性。•模式是对现实生活某类现象的共同特质的高度抽象,描述了事务或者现象的规律,这种规律以及解决方法对于类似的现象同样有用。3HUSTSoftwareCollege软件的设计模式•指在软件设计和开发过程中,不断总结出来的,反应了某一类设计问题的解决方案。•模式是一种指导,在一个良好的指导下,有助于你完成任务,有助于你作出一个优良的设计方案,达到事半功倍的效果。而且会得到解决问题的最佳办法。•设计模式使人们可以更加简单方便地复用成功的设计和体系结构。•设计模式帮助你从别人的成功经验而不是你自己的失败那里学到更多东西;-------MarkJohnson•设计模式提供了一种共享经验的方式,可以使团体受益和避免不断的重复发明。4HUSTSoftwareCollege模式概要模式只是武功套路。其实真正的内功心法是:1.1.针对接口编程针对接口编程2.2.优先使用对象组合,而不是类继承优先使用对象组合,而不是类继承3.3.找到并封装变化点找到并封装变化点5HUSTSoftwareCollege设计原则•面向接口编程的原则–面向接口编程,而不是面向实现编程。•可变性封装的原则–在设计时应当考虑系统中什么可能会发生变化,或者什么特性具备多变的特征。这种变化不应该散落在代码中的各个角落,而是应该被适当的封装起来,以便于维护以及扩展;•开-闭原则–软件中的实体(包括类,模块,函数等等)应当是可扩展的(开),而不应被修改(闭)。•里氏替换原则–父类的方法都要在子类中实现或者重写。–不允许子类出现父类所没有定义的方法。•依赖倒转原则–高层模块不应该依赖于低层模块。二者都应该依赖于抽象。–抽象不应该依赖于细节。细节应该依赖于抽象。6HUSTSoftwareCollege设计原则•组合/聚合复用原则–尽量使用组合/聚合、尽量不使用继承–在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用这些对象的目的•接口隔离原则–避免接口污染;–恰当的划分角色和接口;–从一个客户类的角度来讲:一个类对另外一个类的依赖性应当是建立在最小的接口上的–使用多个专门的接口比使用单一的总接口要好•所有设计原则的目标都是为了使软件:降低耦合,增强灵活性。7HUSTSoftwareCollege模式分类•创建模式(CreationalPattern)•AbstractFactory;Builder;FactoryMethod;Prototype;Singleton•结构模式(StructuralPattern)•Adapter.4Class;adapter.4Object;Bridge;Composite.s;Composite.t;Decorator;Façade;Flyweight;Proxy•行为模式(BehavioralPattern)•ChainOfResponsibility;Command;Interpreter;Iterator;Mediator;Memento;Observer;Strategy;State;TemplateMethod;Visitor9HUSTSoftwareCollege工厂方法10HUSTSoftwareCollege工厂方法11HUSTSoftwareCollege抽象工厂12HUSTSoftwareCollege抽象工厂意图:为特定的客户(或情况)提供特定系列的对象。提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。问题:一系列相关的对象需要被实例化。13HUSTSoftwareCollege建造模式14HUSTSoftwareCollege建造模式15HUSTSoftwareCollege单例/单子模式16HUSTSoftwareCollege单例/单子模式17HUSTSoftwareCollege类的适配器(Adapter)模式意图:将一个类的接口转换成客户希望的另外一个接口。此模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。问题:你想使用一个已经存在的类,而它的接口不符合你的需求。你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。18HUSTSoftwareCollege类的适配器(Adapter)模式19HUSTSoftwareCollegeadapter....

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

软件体系结构设计模式

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部