关于设计模式

来源:互联网 发布:mac ps6 抠图插件下载 编辑:程序博客网 时间:2024/05/17 23:19

一直想重新梳理设计模式的知识点,刚好最近在复习JAVA,里面用了大量的设计模式,结合GoF的《设计模式》一书,记录一下。

GoF书中将设计模式分为三大类:

1. 创建型模式

创建型模式抽象了实例化过程。它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委
托给另一个对象。

它包括以下几种模式:Abstract Factory(抽象工厂)、Builder(生成器)、Factory Method(工厂方法)、Prototype(原型)和Singleton(单件)。

2. 结构型模式

结构型模式涉及到如何组合类和对象以获得更大的结构。结构型类模式采用继承机制来组合接口或实现。结构型对象模式不是对接口和实现进行组合,而是描述了如何对一些对象进行组合,从而实现新功能的一些方法。因为可以在运行时刻改变对象组合关系,所以对象组合方式具有更大的灵活性,而这种机制用静态类组合是不可能实现的。

它包括以下几种模式:Adpater(适配器)、Bridge(桥接)、Composite(组合)、Decorator(装饰)、Facade(外观)、Flyweight(享元)和Proxy(代理)。

3. 行为模式

行为模式涉及到算法和对象间职责的分配。行为模式不仅描述对象或类的模式,还描述它们之间的通信模式。这些模式刻划了在运行时难以跟踪的复杂的控制流。它们将你的注意
力从控制流转移到对象间的联系方式上来。行为类模式使用继承机制在类间分派行为。行为对象模式使用对象复合而不是继承。一些行为对象模式描述了一组对等的对象怎样
相互协作以完成其中任一个对象都无法单独完成的任务。

它包括以下几种模式:Chain of Responsibility(职责链)、Command(命令)、Interpreter(解释器)、Iterator(迭代器)、Mediator(中介者)、Memento(备忘录)、Observer(观察者)、State(状态)、Strategy(策略)、Template method(模板方法)、Visitor(访问者)。

0 0
原创粉丝点击