1.单一职责:
英文缩写:SRP 就一个类而言,应该仅有一个引起它变化的原因,目的是降低耦合度,让一个大功能拆分出不同的小功能,分别管理,不然都写在一个类里这个类会越来越大。
2.开闭原则:
英文缩写:OCP 软件中得对象(类、模块、函数)应该对于扩展是开放的,但是对于修改是封闭的,我们应该尽量的去遵守这个原则,但一旦闻到原来代码的腐化气味,应该尽早的重构,以便使代码恢复到正常的“进化”过程,而不是一味死板的遵守此原则。
3.里氏替换原则:
英文缩写:LSP 所有引用基类的地方必须能透明的使用其子类的对象。通俗来讲,只要父类能出现的地方子类就可以出现,可以替换为子类而不产生任何错误或异常,但是反过来就不行。
4.依赖倒置原则:
英文缩写:DIP 1.高层模块不应该依赖低层模块,两者都应该依赖其抽象;2.抽象不应该依赖细节;3.细节应该依赖抽象,抽象是指接口或抽象类,细节就是实现类。
5.接口隔离原则:
英文缩写:ISP 客户端不应该依赖它不需要的接口
6.迪米特原则:
英文缩写:LOD 也称之为最少知识原则。一个对象应该对其他对象有最少的了解,通俗的来讲,一个类应该对自己需要耦合或调用的类知道的最少,我们只要找那个直接的类就行,比如租房,我们有事情只需要找中介就可以,而不需要关心谁是房东。