
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
软件开发设计原则是每一位软件开发程序员都应该熟练掌握并应用的一个编程知识点,下面我们就通过案例分析来了解一下,里式替换原则与接口隔离原则的特点。
1、LSP
里式替换原则(LiskovSubstitutionPrinciple,LSP)是指子类对象能够替换程序中父类对象出现的任何地方,并且保证原来程序的逻辑行为不变及正确性不被破坏。
里式替换原则就是子类完美继承父类的设计初衷,并做了增强。
与多态的区别:
(1)多态是面向对象编程的一大特性,也是面向对象编程语言的一种语法和代码实现的思路。
(2)里式替换是一种设计原则,用来指导继承关系中子类该如何设计的。
按照协议来设计:
(1)子类在设计的时候,要遵守父类的行为约定(或者叫协议)。
(2)父类定义了函数的行为约定,那子类可以改变函数的内部实现逻辑,但不能改变函数原有的行为约定。这里的行为约定包括:
a、函数声明要实现的功能;
b、对输入、输出、异常的约定;
c、甚至包括注释中所罗列的任何特殊说明。
实际上,定义中父类和子类之间的关系,也可以替换成接口和实现类之间的关系。
2、ISP
接口隔离原则(InterfaceSegregationPrinciple,ISP)是指接口的调用者或使用者不应该强迫依赖它不需要的接口。
接口可理解为下面三种东西:
(1)一组API接口集合。
例如将删除接口单独放到另外一个接口RestrictedUserService中,而不是UserService中,只打包提供给后台管理系统来使用。
(2)单个API接口或函数。
函数的设计要功能单一,不要将多个不同的功能逻辑在一个函数中实现。
(3)OOP中的接口概念。
例如设计一个功能单一的接口:Updater。ScheduledUpdater只依赖Updater这个跟热更新相关的接口,不需要被强迫去依赖不需要的Viewer接口。
与单一职责原则的区别:
(1)单一职责原则针对的是模块、类、接口的设计。
(2)接口隔离原则相对于单一职责原则,一方面它更侧重于接口的设计,另一方面它的思考角度不同。
它提供了一种判断接口是否职责单一的标准:通过调用者如何使用接口来间接地判定。如果调用者只使用部分接口或接口的部分功能,那接口的设计就不够职责单一。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。