学习设计模式,我们可以先全局来了解一下设计模式都分为哪几类,每一类中包括什么,这样学习起来才能得心应手,先观其貌后了解他 的各个部分,逐层深入,有重点的学习。根据二八定律,花20%的时间掌握80%的东西。现在没必要一个个都研究的非常透彻,随着以后的学习,我们会无师自通前面不太懂的东西。
内容:
(1)设计模式的核心:
设计模式和构架最想解决的问题是什么?那就是扩展性。
什么东西容易扩展,适用范围广?当然是抽象的东西了。例如:肉,肉的范围肯定比鸡肉范围广
我觉得:设计模式的核心就是“抽象”。
(2)设计模式的全局导图:
(2)根据他们的用途:
创建型:用于描述如何创建对象,抽象了实例化的过程。
结构型:用于描述如何实现类和对象的组合,从而达到实现一定的功能的目的。
行为型:用于描述类和对象怎样进行交互以及他们是怎么分配职责的。
创建型是结构型和行为型的基础,因为每一个模式都需要实例化;而结构型又是行为型的基础,只有能实现一定的功
能,然后才有可能去交互,分配职能。
(3)各个模式的使用频率来自刘伟老师的博客:
类 型 | 模式 名称 | 学习 难度 | 使用 频率 |
创建型模式 Creational Pattern | 单例模式 Singleton Pattern | ★☆☆☆☆ | ★★★★☆ |
简单工厂模式 Simple Factory Pattern | ★★☆☆☆ | ★★★☆☆ | |
工厂方法模式 Factory Method Pattern | ★★☆☆☆ | ★★★★★ | |
抽象工厂模式 Abstract Factory Pattern | ★★★★☆ | ★★★★★ | |
原型模式 Prototype Pattern | ★★★☆☆ | ★★★☆☆ | |
建造者模式 Builder Pattern | ★★★★☆ | ★★☆☆☆ | |
结构型模式 Structural Pattern | 适配器模式 Adapter Pattern | ★★☆☆☆ | ★★★★☆ |
桥接模式 Bridge Pattern | ★★★☆☆ | ★★★☆☆ | |
组合模式 Composite Pattern | ★★★☆☆ | ★★★★☆ | |
装饰模式 Decorator Pattern | ★★★☆☆ | ★★★☆☆ | |
外观模式 Façade Pattern | ★☆☆☆☆ | ★★★★★ | |
享元模式 Flyweight Pattern | ★★★★☆ | ★☆☆☆☆ | |
代理模式 Proxy Pattern | ★★★☆☆ | ★★★★☆ | |
行为型模式 Behavioral Pattern | 职责链模式 Chain of Responsibility Pattern | ★★★☆☆ | ★★☆☆☆ |
命令模式 Command Pattern | ★★★☆☆ | ★★★★☆ | |
解释器模式 Interpreter Pattern | ★★★★★ | ★☆☆☆☆ | |
迭代器模式 Iterator Pattern | ★★★☆☆ | ★★★★★ | |
中介者模式 Mediator Pattern | ★★★☆☆ | ★★☆☆☆ | |
备忘录模式 Memento Pattern | ★★☆☆☆ | ★★☆☆☆ | |
观察者模式 Observer Pattern | ★★★☆☆ | ★★★★★ | |
状态模式 State Pattern | ★★★☆☆ | ★★★☆☆ | |
策略模式 Strategy Pattern | ★☆☆☆☆ | ★★★★☆ | |
模板方法模式 Template Method Pattern | ★★☆☆☆ | ★★★☆☆ | |
访问者模式 Visitor Pattern | ★★★★☆ | ★☆☆☆☆ |
总结;
有图有真相,让我们全局了解设计模式,对设计模式印象更深刻,以后工作中肯定用得上这些,慢慢消化就好。