一、单一原则
单一原则指的是一个类仅需要包含自身的功能逻辑,不要提供功能定义以外的接口。
1.如果一个类承担了过多的职责,就容易造成代码的耦合;
2.当某个职责发生变化时,就会削弱这个类完成其他职责的能力;
3.软件设计真正要做的就是发现职责,并将不同职责相互分离;
二、开放封闭原则
开放封闭原则指的是数据实体(model)应该要可扩展,但不可修改。这是OOP软件设计的核心所在,遵循这个原则,将使得程序代码易维护、可扩展、可复用、更灵活。
最初编写程序时假设变化不会发生,在过程中需要对最可能发生的变化作出假设,并创建抽象逻辑隔离变化。
三、替换原则
替换原则指的是子类必须能够替换父类。这应用到了OOP的继承特性,由于子类的可替换性,使得调用父类类型的模块在无需修改的情况下就可以扩展。
四、依赖原则
依赖原则指的是抽象不应该依赖细节,细节应该依赖抽象。要针对接口编程,而不是针对实现编程,这是OOP的标志性原则。程序中模块间的依赖关系都应该是抽象类或者接口。
五、最少原则
最少原则指的是如果两个类不必彼此直接通信,那这两个类就不应该直接发生相互作用;如果其中一个类需要调用另一个类的某个方法时,可通过第三者转发这个调用。
这个原则的根本思想是强调了类之间要保持松耦合;类之间的耦合度越弱,越利于复用。在类的结构设计上,应该降低成员的访问权限。
六、聚合原则
聚合原则指的是对象A可以包含对象B,但对象B并不是对象A的一部分;聚合表示一种弱引用的关系。
使用对象的聚合将有助于保持类的封装,并集中在单个任务上,使得类和它的子类可以保持较小的代码规模。