均为原创,读架构整洁之道的笔记。
接口隔离原则:(ISP :Interface Segregation Principle)。
通过名称可以得知,该原则主要偏向于接口设计。核心在于,不要依赖一个你不需要的东西。应该使用接口,将被依赖的类中的方法隔离出来,使得这个类依赖于该接口,而这个接口中的方法是干净的,所有方法,该类都会用到,而不会存在用不到的方法。即接口设计要小,要瘦。
未进行接口隔离:
使用接口隔离:
ISP 与编程语言
之前是出于编译考虑,未用接口隔离,就需要让整个模块编译和部署,隔离后,就可以按需编译和部署。
但是弱类型语言,就不会存在这个问题,它们总是会在运行时将所有代码重新编译一次。
但是ISP
不仅只是跟编程语言强相关设计原则,它还和架构有关。
ISP 与软件架构
设想有一个A系统
,需要引入一个框架B
,然而这个B
强依赖于一个特定的数据库C
。就相当于A
也强依赖于C
了,如果C
中有Bug
,或者对C
中的功能有修改的话,那么就可能导致B
要被重新编译部署,B要重新编译部署,那么A
也要重新部署。如果C
中一个无关功能发生了错误,那么也会让A
和B
发生错误。
本章小结
在任何层次的软件设计中,如果依赖了它并不需要的东西,就会带来意料之外的麻烦。