软考之设计模式
装饰模式:
对象结构型模式,可动态地给一个对象增加一些额外的职责
就增加对象功能来说,装饰模式比生成子类实现更为灵活。通过装饰
模式,可以在不影响其他对象的情况下,以动态、透明的方式给单个
对象添加职责;当需要动态地给一个对象增加功能时,这些功能可以在
动态地被撤销时使用装饰模式;当不能采用生成子类的方法进行扩充时,
也可使用装饰模式。
外观模式:
对象的结构模式,要求外部与一个子系统的通信必须通过一个统一
的外观对象进行,为子系统中的一组接口提供一个一致的界面。
外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用
生成器模式:
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创
建不同的表示。
适用范围如下:
当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。
当构造过程必须允许被构造的对象有不同表示时。
抽象工厂模式:
是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽 象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一一个接口, 使客户端在 不必指定产品的具体情况下,创建多个产品族中的产品对象。
抽象工厂模式模式提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类
命令模式:
命令模式的意图是将一个请求封装为一个对象,从而使得可以用不同的请求对客户进行参数化, 对请求排队或记录请求日志,支持可撤销的操作
观察者模式:
观察者模式有时也称作发布/订阅模式,它定义了一种一对多的依赖关系,让多个观察者对象同时 监听某一个主题对象.这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动 更新自己观察者模式(Observer);定义对象间的一种一对多的依赖关系,当一个对象的状生改 变时,所有依赖于它的对象都得到通知并自动更新。
享元模式:
享元模式主要用于减少创建对象的数量,以减少内存占用和提高性能.这种类型的设计模式属于 结构型模式,它提供了减少对象数量从而改善应用所需的对象结构方式 享元模式(Flyweight):运用共享技术,有效地支持大量细粒度对象。
组合模式(Composite):
将对象组合成树形结构以表示“整体一部分”的层次结构,使得用户对单个对象和组合对象的使 用具有一致性。
外观模式(Facade):
定义一个高层接口,为子系统中的一组接口提供一个一致的外观,从而简化了该子系统的使 用。
装饰模式(Decorator):
动态地给一个对象添加一些额外的职责,比派生一个子加灵活。
工厂方法模式(Factory Method):
定义一个创建对象的接口,但由子类决定需要实(化哪一个类。工厂方法使得子类实例化的过 程推迟。
中介者模式(Mediator):
用一个中介对象来封装一系列的对象交互。它使各对象要显式地相互调用,从而达到低耦合, 还可以独立地改变对象间的交互。