class="MsoNormal">Software?entities?should?be?open?for?extension,but?closed?for?modification——Bertrand?Meyer
对扩展开放,对修改关闭——“开闭原则”
?
例如:
你要设计一个类似联盟的APP,这个APP可以产生多种不同的发型,脸型,眼睛,但是未来用户还会有什么需求是我们目前不可知晓的,如何做到该软件可扩展而又不用牵一发而动全身呢?踏实肯干的人或许会信心满满的总结出一套自己的代码设计风格,但是,回首已千年。站在巨人的肩膀上成功,那也叫成功。何不借外力而为之,设计模式犹如太极拳的招式,要融会贯通到骨子里,却视乎又已经忘记了。使用却能信手拈来~~~
首先,什么是设计模式?
Design?Pattern是一套被反复使用,多人知晓的,经过分类编目的,代码设计经验的总结。
为什么要使用设计呢?
使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。?毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化。
有哪些设计模式?
设计模式分为三种类型,共23种。
? ? ? 创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。
? ? ? 结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
? ? ? 行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。