《架构整洁之道》第 10 章:ISP 接口隔离原则

均为原创,读架构整洁之道的笔记。

包含了部分自己的理解,包含了原书中至少70%的知识点。
完整笔记,各位老哥友链加起来吧。
我的博客地址:www.yuque.com/_huangkuan


接口隔离原则:(ISP :Interface Segregation Principle)。

通过名称可以得知,该原则主要偏向于接口设计。核心在于,不要依赖一个你不需要的东西。应该使用接口,将被依赖的类中的方法隔离出来,使得这个类依赖于该接口,而这个接口中的方法是干净的,所有方法,该类都会用到,而不会存在用不到的方法。即接口设计要小,要瘦

未进行接口隔离:

《架构整洁之道》第 10 章:ISP 接口隔离原则

使用接口隔离:

《架构整洁之道》第 10 章:ISP 接口隔离原则

ISP 与编程语言

之前是出于编译考虑,未用接口隔离,就需要让整个模块编译和部署,隔离后,就可以按需编译和部署。

但是弱类型语言,就不会存在这个问题,它们总是会在运行时将所有代码重新编译一次。

但是ISP不仅只是跟编程语言强相关设计原则,它还和架构有关。

ISP 与软件架构

设想有一个A系统,需要引入一个框架B,然而这个B强依赖于一个特定的数据库C。就相当于A也强依赖于C了,如果C中有Bug,或者对C中的功能有修改的话,那么就可能导致B要被重新编译部署,B要重新编译部署,那么A也要重新部署。如果C中一个无关功能发生了错误,那么也会让AB发生错误。

本章小结

在任何层次的软件设计中,如果依赖了它并不需要的东西,就会带来意料之外的麻烦。

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!