设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是
软件工程
的基石脉络,如同
大厦
的结构一样。
----百度百科
说白了,设计模式就是经验。
经验分3类:
创造型模式5种 结构型模式7种 行为模式11种
创造模式:
单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式
结构型模式:
适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
行为模式:
模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。
设计模式要尽量满足6设计大原则:
开闭原则
对扩展开放,对修改关闭
顾名思义,要尽量设计得可扩展,尽量不对原来的代码修改
里氏代换原则
任何基类出现的地方 子类一定可以出现。 要实现开闭原则 就要抽象化 要抽象化 就要实现具体的步骤, 而里氏代换原则就是具体实现步骤的规范
依赖倒转原则
高层模块不应该依赖低层模块,二者都应该依赖其抽象;
抽象不应该依赖细节;细节应该依赖抽象
接口隔离原则
就是将接口隔离,降低类之间的耦合性
最少知道原则(迪米特法则)
一个对象对其他对象尽可能的知道的少,和接口隔离一个目的,减少类之间的关系,模块相对独立。
合成复用原则
少用继承,多用复合 聚合。 不然继承关系太多,类与类之间的关系太过紧密了。
综上所述 :
6大原则都是一个宗旨:
降低耦合性。 具体的感觉需要在编程当中体会到。这里说太多都不好理解。