1.单一职责原则:就是对于类来说,一个类应该只负责一项职责,规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分,也就是说,接口的职责并不是单一的,而是包含两个职责(功能),用户属性和用户行为。
2.开放-封闭原则:所有面向对象原则的核心。软件设计本身所追求的目标就是封装变化、降低耦合,而开放封闭原则正是对这一目标的最直接体现。其他的设计原则,很多时候是为实现这一目标服务的。
3.里氏替换原则:子类对象能够替换程序中父类对象出现的任何地方,并且保证原来程序的逻辑行为不变及正确性不被破坏,具体实现可以理解为子类在设计的时候,要遵循父类的行为约定,父类定义了方法的行为,子类可以改变方法的内部实现逻辑,但不能改变方法原有的行为约定如:接口方法声明要实现的功能,对参数值,返回值,异常的约定,甚至包括注释中所罗列的任何特殊说明。
4.依赖倒置原则:简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。意图:面向过程的开发,上层调用下层,上层依赖于下层,当下层剧烈变动时上层也要跟着变动,这就会导致模块的复用性降低而且大大提高了开发的成本,面向对象的开发很好的了解了这个问题,一般情况下抽象的概率很小,让用户程序依赖于抽象,实现的细节也依赖于抽象,即使实现细节不断变动,只要抽象不变,客户程序就不需要变化,这大大降低了客户程序与实现细节的耦合度。
5.接口隔离原则:客户端不应该依赖它不需要的接口。 一个类对另一个类的依赖应该建立在最小的接口上。 简介 使用多个专门的接口比使用单一的总接口要好。 一个类对另外一个类的依赖性应当是建立在最小的接口上的。 一个接口代表一个角色,不应当将不同的角色都交给一个接口。 没有关系的接口合并在一起,形成一个臃肿的大接口,这是对角色和接口的污染。 不应该强迫客户依赖于它们不用的方法。
6.组合重用原则:就是说要尽量的使用合成和聚合,而不是继承关系达到复用的目的,组合能更好的实现封装,比继承具有更大的灵活性和更稳定的结构。 该原则就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分:新的对象通过向这些对象的委派达到复用已有功能的目的。 继承的耦合比组合要高。
7.迪米特原则:迪米特原则是指一个对象应该对其他对象保持最少的了解,又叫最少知道原则(Least Knowledge Principle,LKP),尽量降低类与类之间的耦合度。迪米特原则主要强调:只和朋友交流,不和陌生人说话。出现在成员变量、方法的输入、输出参数中的类都可以称为成员朋友类,而出现在方法体内部的类不属于朋友类。2023-03-05
标签:原则,软件设计,子类,接口,对象,抽象,分享,实现,体系结构 From: https://www.cnblogs.com/zjw2020011026/p/17180324.html