designer

在看spring框架源代码时,感觉很乱,不理解为什么要那样写,能回答这个问题的就是设计模式,掌握设计模式,再去阅读源代码就简单的多了

例子来源于清华大学出版社,刘伟主编的2011年10月第一版《设计模式》
这本书是我大学时的教材,书中存在大篇幅的代码(传说中的代码凑字数),很适合初学设计模式的人使用
把这本书翻了两边,觉得对设计模式的理解还是很片面,不深入,于是就把书上的代码全部敲了一遍,对每个模式的有了更深入的理解
看起来程序员是脑力劳动,其实是体力劳动

开始的时候我并不理解设计模式,只是明白的大概
大三开始接触设计模式是感觉好简单,就是几个类之间的关系应用
到工作的时候才发现设计模式的用途,
每种设计模式都有对应的代码、类图。类图代码对比着看可以很好理解设计模式,最好能手动写一遍。
github传送门

creational 创建型模式

AbstractFactory 抽象工厂模式
Builder 建造者模式
Factory 工厂方法模式
Prototype 原型模式
Singleton 单例模式

Structural 结构型模式

Adapter 适配器模式
Bridge 桥接模式
Composite 组合模式
Decorator 装饰模式
Facade 外观模式
Flyweight 享元模式
Proxy 代理模式

Behavioral

Chain of Responsibility 责任链模式
Command 命令模式
Interpreter 解释器模式
Iterator 迭代器模式
Mediator 中介者模式
Memento 备忘录模式
Observe 观察者模式
State 状态模式
Strategy 策略模式
Template Method 模板方法模式
Visitor 访问者模式

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐