首页 > 其他分享 >接口隔离原则通俗解释

接口隔离原则通俗解释

时间:2024-05-27 10:13:07浏览次数:14  
标签:功能 原则 接口 接口隔离 模块 甜品 顾客 通俗

接口隔离原则(Interface Segregation Principle, ISP)的通俗解释可以这样理解:
想象你在经营一家餐厅,餐厅里有各种各样的顾客,有的顾客只想吃素菜,有的顾客只对肉类感兴趣,还有的顾客可能对甜品情有独钟。
如果你设计了一个菜单,上面既有素食、又有肉食和甜品,那么对于只想吃素的顾客来说,他们看到满眼的肉类和甜品选项会觉得多余,甚至可能会感到困惑。

接口隔离原则就像是为不同需求的顾客定制专属菜单一样,它要求我们为系统中的每个模块或者客户群体定义一个最小子集的接口,确保这个接口提供且仅提供他们真正需要的功能。
这样一来,每个客户或模块只需要关心与自己相关的接口,而不会被其他不必要的功能干扰。

举个编程的例子,假设你正在设计一个文档处理系统,不要创建一个庞大的“文档操作接口”,里面包含了打开文件、编辑文字、插入图片、打印文档、发送邮件等多种功能。
而是应该将这些功能拆分成更小的、更专注的接口,比如“编辑接口”只包含文字编辑相关的方法,“打印接口”只包含打印相关的功能。
这样,如果有个模块只需要编辑功能,它就只需要实现“编辑接口”,而不会被迫实现它根本不会用到的打印或邮件发送功能。

这样做有什么好处呢?首先,它降低了模块间的耦合度,提高了系统的灵活性和可维护性。其次,它让代码更容易理解和测试,因为每个接口的职责更加明确。
最后,未来如果需要修改或扩展某一部分功能,影响范围会被限制在最小,不会波及到其他不相关的模块。
这就是接口隔离原则的核心思想,让每个接口都尽量做到“专一”和“精简”。

标签:功能,原则,接口,接口隔离,模块,甜品,顾客,通俗
From: https://www.cnblogs.com/longmo666/p/18214960

相关文章

  • 设计模式之六大设计原则
    文章目录高内聚低耦合设计原则开闭原则单一职责原则里氏代换原则依赖倒置原则迪米特原则接口隔离原则高内聚低耦合提高代码的可读性、可维护性和可扩展性,降低开发和维护的成本,并减少系统的风险内聚:表示内部间聚集、关联的程度耦合:块间联系,指软件系统结构中各......
  • 七种常见的面向对象设计原则
     设计原则名称定义使用频率单一职责原则一个类只负责一个功能领域中的相应职责 四颗星开闭原则软件实体应对扩展开发,而对修改关闭 五颗星 里氏代换原则所有引用基类对象的地方能够透明地使用其子类的对象 五颗星依赖倒转原则抽象不应该依赖于细节......
  • 测试环境建设原则和问题对策
    《Pattern:ServiceMesh》测试环境建设原则和管理实践测试环境不稳定&复杂的必然性及其对策......
  • 怎么通俗易懂的理解OSPF?
    OSPF,全称是开放最短路径优先(OpenShortestPathFirst),是一种用来决定网络中数据包传输路径的算法。想象一下,如果你在一个大城市里,需要找到从家到办公室的最快路线,你可能会考虑交通状况、道路长度、是否有施工等因素。OSPF就是网络世界中的导航系统,它帮助网络中的数据包找到最快的......
  • 设计原则和设计模式
    一.六大设计原则 1.单一职责原则 一个类或者模块只完成一个职责 微服务架构 2.里氏替换原则: 核心思想:减少对具体类的依赖,增加对抽象(接口或者实现类)依赖,降低类之间的耦合性,提高系统的可维护性和扩展性 多用组合,少用继承 3.依赖倒置原则(SpringIOC具体体现) 依赖倒置不会只在......
  • 软件设计原则—合成复用原则
    继承可以提高代码的复用性,但是继承会带来很多问题合成复用原则是指:尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。通常类的复用分为继承复用和合成复用两种。继承复用虽然有简单和易实现的优点,但它也存在以下缺点:继承复用破坏了类的封装性。因为继承......
  • 软件设计原则—接口隔离原则
    B类需要方法1好处是b类继承A类后就有了方法1的功能,问题是B类被迫有了它不使用的方法2这个其实是根据方法的职责细分接口,只需要依赖其中一个接口就可以了客户端不应该被迫依赖于它不使用的方法;一个类对另一个类的依赖应该建立在最小的接口上。下面看一个例子来理解接口隔离......
  • 软件设计原则—依赖倒转原则
    高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。下面看一个例子来理解依赖倒转原则:组装电脑现要组装一台电脑,需要配件cpu,硬盘,内存条。只有这些配......
  • 软件设计原则—里氏代换原则
    里氏代换原则是面向对象设计的基本原则之一。里氏代换原则:任何基类可以出现的地方,子类一定可以出现。通俗理解:子类可以扩展父类的功能,但不能改变父类原有的功能。换句话说,子类继承父类时,除添加新的方法完成新增功能外,尽量不要重写父类的方法。如果通过重写父类的方法来完成新的......
  • 软件设计原则—开闭原则
    在程序需要进行拓展的时候,不能去修改原有的代码,而是实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类。因为抽象灵活性好,适应性广,只要抽象的合理,可以基本保持软件架构的稳定。而软件中易变的细节可以从抽象派生......