软件体系结构设计模式

软件体系结构设计模式

ID:6141868

大小:1.47 MB

页数:54页

时间:2017-11-14

软件体系结构设计模式_第1页
软件体系结构设计模式_第2页
软件体系结构设计模式_第3页
软件体系结构设计模式_第4页
软件体系结构设计模式_第5页
资源描述:

《软件体系结构设计模式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、设计模式主讲:张春祥模式模式描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。----《建筑的永恒之道》Alexander模式其实就是解决某一类问题的方法论。把解决某类问题的方法总结归纳到理论高度,那就是模式。模式对问题的描述以及对问题的解答应具有高度的抽象性和代表性。模式是对现实生活某类现象的共同特质的高度抽象,描述了事务或者现象的规律,这种规律以及解决方法对于类似的现象同样有用。2软件的设计模式指在软件设计和开发过程中,不断总结出来的,反应了某一类设计问题的解决方案。模式是

2、一种指导,在一个良好的指导下,有助于你完成任务,有助于你作出一个优良的设计方案,达到事半功倍的效果。而且会得到解决问题的最佳办法。设计模式使人们可以更加简单方便地复用成功的设计和体系结构。设计模式帮助你从别人的成功经验而不是你自己的失败那里学到更多东西;-------MarkJohnson设计模式提供了一种共享经验的方式,可以使团体受益和避免不断的重复发明。3模式概要模式只是武功套路。其实真正的内功心法是:针对接口编程优先使用对象组合,而不是类继承找到并封装变化点4设计原则面向接口编程的原则面向接口编程,而不是面向实现编程。可变性封装的原则在设计时应当考虑系统中什么可能会发

3、生变化,或者什么特性具备多变的特征。这种变化不应该散落在代码中的各个角落,而是应该被适当的封装起来,以便于维护以及扩展;开-闭原则软件中的实体(包括类,模块,函数等等)应当是可扩展的(开),而不应被修改(闭)。里氏替换原则父类的方法都要在子类中实现或者重写。不允许子类出现父类所没有定义的方法。依赖倒转原则高层模块不应该依赖于低层模块。二者都应该依赖于抽象。抽象不应该依赖于细节。细节应该依赖于抽象。5设计原则组合/聚合复用原则尽量使用组合/聚合、尽量不使用继承在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用这些对象的目的接口隔

4、离原则避免接口污染;恰当的划分角色和接口;从一个客户类的角度来讲:一个类对另外一个类的依赖性应当是建立在最小的接口上的使用多个专门的接口比使用单一的总接口要好所有设计原则的目标都是为了使软件:降低耦合,增强灵活性。6模式分类创建模式(CreationalPattern)AbstractFactory;Builder;FactoryMethod;Prototype;Singleton结构模式(StructuralPattern)Adapter.4Class;adapter.4Object;Bridge;Composite.s;Composite.t;Decorator;Faç

5、ade;Flyweight;Proxy行为模式(BehavioralPattern)ChainOfResponsibility;Command;Interpreter;Iterator;Mediator;Memento;Observer;Strategy;State;TemplateMethod;Visitor78工厂方法9工厂方法10抽象工厂11抽象工厂意图:为特定的客户(或情况)提供特定系列的对象。提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。问题:一系列相关的对象需要被实例化。12建造模式13建造模式14单例/单子模式15单例/单子模式16类的适

6、配器(Adapter)模式意图:将一个类的接口转换成客户希望的另外一个接口。此模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。问题:你想使用一个已经存在的类,而它的接口不符合你的需求。你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。17类的适配器(Adapter)模式18adapter.forObject意图:将一个类的接口转换成客户希望的另外一个接口。此模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。问题:你想使用一个已经存在的类,而它的接口不符合你的需求。你想创建一个可以复用的类,该类

7、可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。多个对象适配成为一个对象19adapter.forObject20桥梁(Bridge)/柄体(HandleandBody)模式意图:将抽象部分与它的实现部分分离,使它们都可以独立地变化。问题:一个抽象类的派生类必须使用多种实现部分,但又不能引起类数量的爆炸。21桥梁(Bridge)/柄体(HandleandBody)模式Bridge桥梁模式:将抽象化与实现化脱耦,使得二者可以独立的变化,也就是说将他们之间的强关联变成弱关联,从而使两者可以独

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。