专栏名称: 架构师
架构师云集,三高架构(高可用、高性能、高稳定)、大数据、机器学习、Java架构、系统架构、大规模分布式架构、人工智能等的架构讨论交流,以及结合互联网技术的架构调整,大规模架构实战分享。欢迎有想法、乐于分享的架构师交流学习。
今天看啥  ›  专栏  ›  架构师

架构设计原则:选择 SPI 还是 API ?

架构师  · 公众号  ·  · 2024-09-10 22:29
    

文章预览

架构师(JiaGouX) 我们都是架构师! 架构未来,你来不来? 背景 第一次听说 SPI 是阅读《软件框架设计的艺术》,以后陆续在 JDBC 和 SpringBoot 中发现了以这种形式组织代码的方式,本位给出为什么要区分 SPI 和 API 的一个思考过程。 从面向接口编程说起 我们在“调用方”和“实现方”之间引入了“接口”,上图没有给出“接口”应该位于哪个“包”中,从纯粹的可能性上考虑,我们有三种选择: “接口”位于“调用方”所在的“包”中。 “接口”位于“实现方”所在的“包”中。 “接口”位于独立的“包”中。 下面让我们依次分析这三种可能性,如果现实中确实有这种可能性,不如我们就为其起个名字以方便交流。 “接口”位于“调用方”所在的“包”中 我们先想象一个场景,以仓储的接口为例: 我们将“仓储接口”放置于“领域层”这个 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览