00.00 设计模式总介

设计模式——总介

分类

GoF总结出来23种设计模式,大体上可以分为3大类,分别从对象的创建、对象的结构及对象的行为这3个方面来总结代码编写经验。

第一大类:创建型模式

       在程序设计中,如果将对象的创建和使用都放在客户程序中一起执行,首先会使得客户的资源效率占用很大;客户程序代码增大,又使得客户程序的维护费用加大。所以很多时候有必要把对象的创建与使用分离开来,创建型模式就是为了解决这类问题,正所谓“分而治之”,大家都省心。这样做也可以满足一些特殊的需求。

       01.00      简单工厂模式(Simple Factory)

       01.01      工厂方法模式(Factory Method)

       01.02      抽象工厂模式(Abstract Factory)

       01.03      创建者模式(Builder)

       01.04      原型模式(Prototype)

       01.05      单例模式(Singleton)

第二大类:结构型模式

       优秀的系统,必然有良好的整体设计,系统设计包括静态设计与动态设计,结构型模式就是为了系统整体或者子系统静态关系方面的高内聚,松耦合;而行为型模式则是针对动态方面的。

       02.01      外观模式(Facade)

       02.02      适配器模式(Adapter)

       02.03      代理模式(Proxy)

       02.04      装饰模式(Decorator)

       02.05      桥模式(Bridge)

       02.06      组合模式(Composite)

       02.07      享元模式(Flyweight)

第三大类:行为型模式

       03.01      模版方法模式(Template Method)

       03.02      观察者模式(Observer)

       03.03      状态模式(State)

       03.04      策略模式(Strategy)

       03.05      职责链模式(Chain of Responsibility)

       03.06      命令模式(Command)

       03.07      访问者模式(Visitor)

       03.08      调停者模式(Mediator)

       03.09      备忘录模式(Memento)

       03.10      迭代器模式(Iterator)

       03.11      解释器模式(Interpreter)

学习设计模式的资源

(1)       设计模式开山之作:GoF的《设计模式》。

(2)       板里桥人的系列文章:http://www.jdon.com/designpatterns/index.htm

(3)       林信良的系列文章:http://caterpillar.onlyfun.net/Gossip/DesignPattern/DesignPattern.htm

(4)       Alexander(亚历山大)的《建筑的永恒之道》。

(5)       埃克尔的《Java编程思想》。

(6)       郭志学的《易学——设计模式》。

(7)       程杰的《大话设计模式》。

原文地址:https://www.cnblogs.com/sagahu/p/2710020.html