六大原则
1. 单一职责原则 SRP
应该有且仅有一个原因引起类的变更。(模块化思想)
2. 里氏替换原则
父类出现的地方,子类就可以出现.-是否满足此原则的标尺(程序的健壮性。在实际项目中,每个子类对应不同的业务含义,可以使用父类作为参数,传递不同的子类完成不的业务逻辑).(保持父类的方法有效,因为父类是共性的)
下面的3,4点,相同条件下,同一类对像的业务逻辑和基类一致,若不一致,基类也就失去了意义
1. 子类必须完全实现父类的方法。(父类的每一个方法,子类都应有其对应的意义)
2. 子类有自己的个性
3. 重载(参数不同,返回结果不同就是重载)或实现父类的方法时,输入的参数应被放大
4. 重载或实现父类的方法时,输出结果可以被缩小
3. 依赖倒置原则
面向接口编程。传递依赖关系有三种方式,接口传递,构造方法传递,setter方法传递,传递的参数均为抽象
(按照正常逻辑,对于接口,参数是具体的,参数变了,相应的方法也就变了,针对于方法,参数抽像后,依赖关系定位到参数上,同一方法可满足不同要求,相对于以前调整或新增方法来说称为倒置)
接口传递:
public void play(IToy toy){}//优于参数为gun 或者car
class gun implements IToy {}
class car implements IToy {}
构造方法,setter传递就是,对应的方法参数类型为IToy
4. 接口隔离原则
要求接口功能具有单一性,只扮演一名角色,需要高内聚。对于实现类来说,接口提供的方法都是必须的。依据经验,有效控制接口粒度,即接口方法尽量少一些
5. 迪米特原则
- 接口内不要出现陌生类,即变量都是类成员变量或,参数
- 接口的公共方法能少尽量少,
6. 开闭原则
对扩展开放,对修改关闭。即不要通过修改已有的代码来实现变化
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 fulndon@qq.com