在谈设计模式以前,若是不谈设计原则,我认为是无根之浮萍。编程
为何这么说,为何咱们要学设计模式,为何前人将这些东西抽象和总结出来?这就是要了解设计原则的必要性,开始学的时候,可能不必定须要了解或者很明白,也许看过便可,若是能记住点,固然更好,自己设计模式的学习,我认为就是一个反复琢磨,反复使用的过程,根据不少具体场景和具体状况,也许有不少不一样的理解和应用,这是设计模式的精彩之处。设计模式
面向对象设计的2个基本原则:
1.针对接口编程,而不是针对实现编程。 -- 针对抽象编程
2.优先使用对象组合,而不是类继承。 --合成复用原则
面向对象设计的6个设计原则:
1.单一职责原则(SRP)
2.开放封闭原则(OCP)
3.Liskov替换原则(LSP)
4.依赖倒置原则(Dependence Inversion Principle),简称DIP
5.接口隔离原则(ISP)
6.迪米特法则(Law of emeter),最少知识原则(Least Knowledge Principle 简写LKP)学习