DP的经典教材是GoF(Gang of Four)的《Design Pattern:可复用面向对象软件的基础》。另外一本推荐的书是《大话设计模式》。GoF的书刚开始看有点难理解,多读优秀源码,多做项目写代码,看相关博客,读简易入门的书籍,慢慢就会发掘出GoF的宝藏。
《风雨哈佛路》里对textbook的定义是:一家之言。而一家之言不及百家言,所以并不是抱着一本书啃就是好事儿,优秀博客也积攒着百家的优秀文章&看法&思路。
这个系列的文章基本都是摘自Wiki,之后会通过阅读其他资料和书籍继续补充&丰满。
DP可分为三大块儿:创建型(Creational Pattern),结构型(Structural Pattern),行为型(Behavioural Pattern)模式;
创建型模式有:抽象工厂 生成器 工厂方法 原型 单例,抽象了创建实例的过程。
结构型模式有:适配器 桥接 Composite 修饰 外观 享元 代理。
行为型模式有:责任链 命令 Interpreter 迭代器 Mediator Memento 观察者 State 策略 模板方法 访问者。
创建型模式是用来解决在不指定具体类型对象下创建对象的问题。
DP其实是programer对编码的经验之谈,GoF只是把这些经验之谈总结起来起名字。所以学习这些DP的方法就是coding,从coding中发现并运用&反思编码的逻辑和代码的重构。
学习DP主要是学习DP的思想,通过各种显示案例体会DP的应用场景。其中每个DP对应的UML类图以及相应代码都只是为了加深读者对相关DP基础概念的理解。