-
开闭原则:当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。
-
里氏替换原则:子类可以扩展父类的功能,但不能改变父类原有的功能。(主要阐述了有关继承的一些原则,也就是什么时候应该使用继承,什么时候不应该使用继承;克服了继承中重写父类造成的可复用性变差的缺点)
-
依赖倒置原则:要面向接口编程,不要面向实现编程(目的是通过要面向接口的编程来降低类间的耦合性)
-
单一职责原则:对象不应该承担太多职责
-
接口隔离原则:要为各个类建立它们需要的专用接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用(一个接口只服务于一个子模块或业务逻辑)
-
迪米特法则:如果两个软件实体无须直接通信,那么就不应当发生直接的相互调用,可以通过第三方转发该调用
-
合成复用原则:通过将已有的对象纳入新对象中,作为新对象的成员对象来实现的,新对象可以调用已有对象的功能,从而达到复用(在软件复用时,要尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现)