For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
设计原则是设计模式最直接的体现,逻辑上更符合Java编程中追求的高内聚和低耦合的基本思想,好的代码理应遵守。本文先来说说单一职责与里氏替换两设计原则。
Single Responsibility Principle:单一职责原则
单一职责原则有什么好处:
类的复杂性降低,实现什么职责都有清晰明确的定义;
可读性提高,复杂性降低,那当然可读性提高了;
可维护性提高,可读性提高,那当然更容易维护了;
变更引起的风险降低,变更是必不可少的,如果接口的单一职责做得好,一个接口修改只对相应的实现类有影响,对其他的接口无影响,这对系统的扩展性、维护性都有非常大的帮助。
ps:接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。
单一职责原则提出了一个编写程序的标准,用“职责”或“变化原因”来衡量接口
或类设计得是否优良,但是“职责”和“变化原因”都是不可度量的,因项目而异,因
环境而异。
Liskov Substitution Principle:里氏替换原则
定义:Functions that use pointers or references to base classes must be able to
use objects of derived classes without knowing it.
(所有引用基类的地方必须能透明地使用其子类的对象。)
通俗点讲,只要父类能出现的地方子类就可以出现,而且替换为子类也不会产生任何错误或异常,使用者可能根本就不需要知道是父类还是子类。但是,反过来就不行了,有子类出现的地方,父类未必就能适应。
定义中包含的四层含义:
1.子类必须完全实现父类的方法
2.子类可以有自己的个性
3.覆盖或实现父类的方法时输入参数可以被放大如果父类的输入参数类型大于子类的输入参数类型,会出现父类存在的地
方,子类未必会存在,因为一旦把子类作为参数传入,调用者很可能进入类的方法范畴。
4. 覆写或实现父类的方法时输出结果可以被缩小
父类的一个方法的返回值是一个类型 T,子类的相同方法(重载或覆写)的返回值为 S,那么里氏替换原则就要求 S 必须小于等于 T,也就是说,要么 S 和 T是同一个类型,要么 S 是 T 的子类。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请添加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。