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