01.面向对象六大原则
2020-01-14 本文已影响0人
yaofclc
1.1 单一职责原则
1.2 开闭原则
软件中的对象(类、模块、函数等)应该对于扩展是开放的,但是,对于修改是封闭的。
1.3 里氏替换原则
里氏替换原则依赖于继承和多态,简单来说,就是所有引用基类的地方必须能透明地使用子类的对象。通俗讲,只要父类能出现的地方,子类就可以出现,而且替换为子类也不会产生任何错误或异常,使用者可能根本就不需要知道是父类还是子类。反过来就不行了,有子类出现的地方父类未必就能适应。就是抽象
1.4 依赖倒置原则
Java语言中,抽象指接口或抽象类,两者都不能被直接实例化;细节就是实现类,可实现接口或继承抽象类,可直接被实例化。</br>
依赖倒置原则,在Java中的表现就是:模块间的依赖通过抽象发生,实现类之间没有直接依赖关系,其依赖关系是通过接口或抽象类产生的。
1.5 接口隔离原则
定义:客户端不应该依赖它不需要的接口。另一种定义:类的依赖关系应该建立在最小的接口上。也就是说,让客户端依赖的接口尽可能小,没用的方法什么的不要写在接口里。
1.6 迪米特原则
一个对象应该对其他对象有最少的了解。通俗地讲,一个类应该对自己需要耦合或依赖的类知道的最少,类的内部如何实现与调用者或依赖者没关系。
例如:租房,假如租户只在乎房子价格和面积,那他只需要把这两个信息告诉中介,其他一切由中介来处理就好了,至于中介怎么筛选合适房源,租户不需要知道。
总结:
几个关键词:抽象、单一职责、最小化。