答案解释:
单职原则:一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分。
开闭原则:对扩展开放,对修改封闭。当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求 。
里氏替换原则:子类可以替换父类,即子类可以扩展父类的功能,但不能改变父类原有的功能。
依赖倒置原则:要依赖于抽象,而不是具体实现;要针对接口编程,不要针对实现编程。
接口隔离原则:使用多个专门的接口比使用单一的总接口要好。
组合重用原则:要尽量使用组合,而不是继承关系达到重用目的。
迪米特原则:(最少知识法则)一个对象应当对其他对象有尽可能少的了解。其目的是降低类之间的耦合度,提高模块的相对独立性。