2020-02-23 14:01:09 +00:00
|
|
|
|
# 设计模式
|
|
|
|
|
|
|
|
|
|
设计模式是我们必须要掌握的一项技能 <br>
|
|
|
|
|
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、
|
|
|
|
|
让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式
|
|
|
|
|
是软件工程的基石脉络,如同大厦的结构一样。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 六大设计原则
|
|
|
|
|
|
|
|
|
|
* [单一职责原理](principle#1单一职责原理-)
|
|
|
|
|
* [里氏替换原则](principle#1里氏替换原则)
|
|
|
|
|
* [依赖倒置原则](principle#3依赖倒置原则)
|
|
|
|
|
* [接口隔离原则](principle#4接口隔离原则)
|
|
|
|
|
* [迪米特法则](principle#5迪米特法则)
|
|
|
|
|
* [开闭原则](principle#6开闭原则)
|
|
|
|
|
|
|
|
|
|
## 23种设计模式
|
|
|
|
|
|
|
|
|
|
* 创建型模式:
|
2020-03-14 12:52:00 +00:00
|
|
|
|
[简单工厂模式](src/main/java/com/zeekling/simpleFactory)、[抽象工厂模式](src/main/java/com/zeekling/abstractFactory)、
|
|
|
|
|
[单例模式](src/main/java/com/zeekling/simgleton) 、[建造者模式](src/main/java/com/zeekling/Builder)、[原型模式](src/main/java/com/zeekling/Prototype);
|
2020-02-23 14:01:09 +00:00
|
|
|
|
* 结构型模式:
|
2020-03-14 12:53:16 +00:00
|
|
|
|
[适配器模式](src/main/java/com/zeekling/adapter) 、[桥接模式](src/main/java/com/zeekling/bridge)、[代理模式](src/main/java/com/zeekling/proxy)、
|
|
|
|
|
[组合模式](src/main/java/com/zeekling/composite)、[外观模式](src/main/java/com/zeekling/facade) 、
|
|
|
|
|
[装饰模式](src/main/java/com/zeekling/decorate)、[享元模式](src/main/java/com/zeekling/flyweight);
|
2020-02-23 14:01:09 +00:00
|
|
|
|
* 行为型模式:
|
2020-03-14 12:53:16 +00:00
|
|
|
|
[责任链模式](src/main/java/com/zeekling/handler)、[迭代子模式](src/main/java/com/zeekling/iterator) 、
|
|
|
|
|
[备忘录模式](src/main/java/com/zeekling/memento) 、[命令模式](src/main/java/com/zeekling/command)、
|
|
|
|
|
[状态模式](src/main/java/com/zeekling/state) 、[观察者模式](src/main/java/com/zeekling/observer) 、
|
|
|
|
|
[策略模式](src/main/java/com/zeekling/strategy) 、[模板模式](src/main/java/com/zeekling/template) 、
|
|
|
|
|
[访问者模式](src/main/java/com/zeekling/visitor) 、[中介者模式](src/main/java/com/zeekling/mediator) 、
|
|
|
|
|
[解释器模式](src/main/java/com/zeekling/interpreter);
|
2020-02-23 14:01:09 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 存在的问题
|
|
|
|
|
在学习设计模式时,发现了一个问题:自己这样看别人例子,没有实践,对设计模式的理解不是特别容易。不过我尽我可能理解。
|
|
|
|
|
|
|
|
|
|
## 感悟
|
|
|
|
|
|
|
|
|
|
最近发现一味的在网上google看博客是不行的,这样自己对知识很难有一个整体的把握,觉得google看博客和看书结合起来是一个很不错的选择。
|
|
|
|
|
|