设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码的可靠性。平常主要有这样的三大类型:

那么这些设计模式具体会遵循哪些原则呢?
又叫做单一功能原则,每个类只负责一项职责。是面向对象五个基本原则之一。
规定“软件中的对象(类、模块、函数等)应该对于扩展是开放的,但是对于修订是封闭的”
子类可以扩展父类的功能,但不能改变父类原有的功能,和Java 中的继承类似。
也叫做最小知识原则,意义在于降低类之间的耦合。由于每个对象尽量减少对其他对象的了解,因此,很容易使得系统的功能模块功能独立,相互之间不存在(或很少有)依赖关系
是实现开闭原则的重要途径,在软件设计中,具体的实现变化很多,但是抽象层相对比较稳定,因此以抽象为基础搭建起来的架构要比具体实现的要稳定的多。因此程序要依赖于抽象接口,尽量避免依赖于具体实现。
要求程序员尽量将臃肿庞大的接口拆分成更小和更具体的接口。