一、设计模式是什么?
在软件工程中,【设计模式】是对软件设计中普遍存在的各种问题,所提出的 解决方案。
换句话说,设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计的 经验的总结。使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码可性。
二、设计模式原则
1.开闭原则:是指对扩展开放,对修改封闭。程序应该具有良好的扩展性,主要依靠接口和抽象类,使程序易于维护和升级。扩展是对功能的维护和升级,而修改会产生问题。(实现开闭原则的关键是抽象化。)
2.里氏替换原则:任何积基类可以出现的地方,子类也一定可以出现,这是继承复用的基础。(里氏替换原则抽象化具体行为的规范,是对开闭原则的补充)
3.依赖倒置原则:针对接口编程,高层次模块不应该依赖底层模块,他们应该都依赖抽象。抽象不应该依赖具体实现,具体实现应该依赖抽象。(接口和实现都应该依赖抽象,这是开闭原则实现的基础)
4.接口隔离原则:使用多个隔离的接口,比使用单个庞大的接口要好。有利于降低耦合,易于维护升级。
5.单一职责原则:一个实体应尽量少地与其他实体之间发生相互作用,应该使得系统功能模块相对独立。
6.最少知识原则:一个对象应该对其他对象保持最少的了解。
7.合成复用原则:合成复用原则就是在一个新的对象里通过关联关系(组合关系、聚合关系)来使用一些已有的对象,使之成为新对象的一部分;新对象通过委派调用已有对 象的方法达到复用功能的目的。
三、通常来说设计模式分为三大类:
创建型模式 :工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式 :适配器模式、装饰者模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式 :策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
原文:http://www.cnblogs.com/hellopi/p/6340520.html