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