岚天逸见

谈抽象接口的重要性


抽象是架构师最基础最重要的能力之一。一名程序员要成长为架构师,首先要理解接口的重要性。但是对一个没有经验的人来说,他心中可能无法体会“接口”这两个字的含义。

接口就是规范,接口就是协议。为了便于理解,我们可以把它和生活中的事务类比起来,这样就非常容易理解了。

假设在工作中,两个不同部门间有业务来往,如果两个部门间没有定义任何规范,全凭双方的接口人自个做主沟通。这就埋下了很大隐患,一旦其中有某个人变动(如离职),则会严重影响两个部门间的活动。原因就是,这两个部门间的活动太依赖于具体的个人了。

怎么去解决这个问题了?方法非常简单,就是定义好双方的规范或协议,让双方接口人按钮规范来沟通,这样不管人员如何的变动,新人都可以很快的去接手。

规范和协议本身是没有用的,它需要后面的人去执行。

软件开发同样如此,去了解耦合,需要定义规范和和协议。在OO中,接口就是种协议,它屏蔽了可能发生的变化

只要协议不变,和平就在。因此定义一个具有一定前瞻性的协议是架构师的职责,著名的TCP/IP协议几十年来未有变化,是一个非常好的案例。ProtocolBufferThrift等,为了应对协议变化,增加了optionalrequired两个性特。

有关如何设置具有前瞻性的接口,不在本文探讨范畴之内,这个需要一定的经验积累。

posted on   岚天逸见  阅读(189)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义

导航

统计信息

点击右上角即可分享
微信分享提示