{参考:http://blog.csdn.net/lovelion/article/details/17517213}
单一职责原则(Single Responsibility Principle--SRP):一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。
"开闭"原则(Open Close Principle--OCP):软件实体应当对扩展开放,对修改关闭。
里氏代换原则(Liskov Substitution Principle--LSP):子类型必须能够替换他们的基类。
依赖倒置原则(Dependency Inversion Principle--DIP):要依赖于抽象,不要依赖于具体;要针对接口编程,不要针对实现编程。
接口隔离原则(Interface Segregation Principle--ISP):使用多个专门的接口比使用单一的总接口要好。
合成/聚合复用原则:尽量使用合成/聚合,尽量不要使用继承。
迪米特法则(Law of Demeter--LoD):最少知识原则,一个对象应当对其他对象尽可能少的了解;只与你直接的朋友们通信,不要跟“陌生人”说话。
6个创建型模式:
简单工厂模式
工厂方法模式
抽象工厂模式
单例模式
原型模式
建造者模式
7个结构型模式:
适配器模式
桥接模式
组合模式
装饰模式
外观模式
享元模式
代理模式
11个行为型模式:
职责链模式
命令模式
解释器模式
迭代器模式
中介者模式
备忘录模式
观察者模式
状态模式
策略模式
模板方法模式
访问者模式