设计模式及其使用场景(设计模式模板模式1---重构获得模式Refactoring)(1)

GOF-23 模式分类

从目的来看:

创建型(Creational)模式:将对象的部分创建工作延迟到子类或者其他对象,从而应对需求变化为对象创建时具体实现引来的冲击。

结构型(Structural)模式:通过类继承或者对象组合获得更灵活的结构,从而应对需求变化为对象的结构带来的冲击。

行为型(Behavioral)模式:通过类继承或者对象组合来划分类与对象间的职责,从而应对需求变化为多个交互的对象带来的冲击。

从范围来看:

从封装变化角度对模式分类

Template Method(模板)

Strategy(策略)

Observer/Event(观察者)

Decorator(装饰者)

Bridge(桥接)

Factory Method(工厂)

Abstract Factory(抽象工厂)

Prototype(原型)

Builder(建造者)

Sigleton(单例)

Flyweight(享元)

Facade(外观)

Proxy(代理)

Mediator(中介)

Adapter(适配器)

Memento(备忘录)

State(状态)

Composite(组合模式)

Iterator(迭代器)

Chain of Resposibility(责任链)

Command(命令)

Visitor(访问者)

Interpreter(解释)

重构获得模式 Refactoring to Patterns

面向对象设计模式 是“好的面向对象设计”,所谓“好的面向对象设计”指是哪些可以满足“应对变化,提高复用“的设计。

现代软件设计的特征是“需求的频繁变化”。设计模式的要点是“寻找变化点,然后在变化点处应用设计模式,从而来更好的应对需求的变化”。“什么时候、什么地点应用什么设计模式”比“理解设计模式结构本身"更为重要。

设计模式的应用不宜先入为主,一上来就使用设计模式是对设计模式的最大误用。没有一步到位的设计模式。敏捷软开发实践提倡的“Refactoring to Patterns”是目前普遍公认的使用设计模式的方法。

需求的频繁变化---》寻找变化点---》在变化点处应用设计模式。

什么时候、什么地点用设计模式比理解设计模式更重要

阶段1:没有模式--》阶段2:一上来就是用设计模式---》阶段3:。。。

Refactoring to Patterns 重构与模式

重构----改善既有代码的设计

设计模式及其使用场景(设计模式模板模式1---重构获得模式Refactoring)(2)

重构关键技法

设计模式及其使用场景(设计模式模板模式1---重构获得模式Refactoring)(3)

理解这些技法比理解某移动模式重要的多。

,