`
insertyou
  • 浏览: 871164 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

已发布接口与公共接口

阅读更多

已发布接口(published interface)与公共接口(public interface)

表弟在读《重构》一书,对已发布接口的概念有些迷惑,我对其进行通俗的解释如下:

已发布接口是指已经发布出去为其他系统的构件所使用的接口,有多少接口的调用者是无法知道的,已发布接口必须保持稳定,否则一旦修改,将引起其调用者的失败,而又不可能穷举出其调用者对他们进行修改,因为接口的作者不知道有多少调用者,接口的作者也无权修改借口的调用者。假设A为一个已发布接口,如果对A进行了修改形成了新的接口B,则为了保证A的调用者能够正常工作,需要在A中调用B,而新的需要调用A接口的构件直接调用B接口就可以了。所以Martin Flower讲“不要过早发布接口”,否则一旦接口不稳定,问题就复杂了。

公共接口是指为系统内的其他构件所使用的接口,有多少接口的调用者是可以穷举的,修改公共接口时,可以修改其调用者,使调用者能够在新版的接口上正常工作。

分享到:
评论

相关推荐

    通用公共无线接口协议(CPRI)规范V4.2英文版

    通用公共无线接口(Common Public Radio Interface:CPRI)最新版本,2010年9月29日发布!

    SpringCloud微服务接口这么多怎么调试

    本文来自程序猿,本文主要介绍了SpringCloud微服务下服务接口调试及管理,什么样方式可以让微服务的接口管理变得更加容易些...而有些微服务则会提供一些公共性质的服务接口,如短信接口统一认证接口之类。而这些微服务往

    JS API 接口接收与返回

    JS API 接口接收与返回 是一个轻型的、安全的、跨网际的、跨语言的、跨平台的、跨环境的、跨域的、支持复杂对象传输的、支持引用参数传递的、支持内容输出重定向的、支持分级错误处理的、支持会话的、面向服务的高...

    restfulwebservice发布服务接口

    基于jersey-1.17.jar通过rest服务发布公共服务类,测试demo,以供学习

    GC-TEH-003-交通运输部城市公共交通卡系统加密机通用接口指令需求书(V2.3.1)-发布版

    GC_TEH_003-交通运输部城市公共交通卡系统加密机通用接口指令需求书(V2.3.1)-发布版

    B接口和GB28181合集资料.zip

    GBT 28181-2016 公共安全视频监控联网系统信息传输、交换、控制技术要求 QGDW1517.1-2014电网视频监控系统及接口第1部分:技术要求 电网视频监控系统及接口_第1部分:技术要求(发布2010.11)

    ASP API 接口接收与返回

    ASP API 接口接收与返回 是一个轻型的、安全的、跨网际的、跨语言的、跨平台的、跨环境的、跨域的、支持复杂对象传输的、支持引用参数传递的、支持内容输出重定向的、支持分级错误处理的、支持会话的、面向服务的高...

    物联网集成管理运维系统功能需求清单.xlsx

    信息发布系统接口 公共广播系统接口 多媒体会议系统接口 有线电视系统接口 计算机网络系统接口 无线网络覆盖系统接口 程控交换系统接口 LED显示系统接口 扩声系统接口 场地照明及控制系统接口 现场成绩处理系统接口 ...

    新浪 sina微博api接口开发实例c#,asp.net版 用户获取,发布微博

    1.获取最新的公共微博消息 2.获取当前登录用户及其所关注用户的最新微博消息 (别名: statuses/home_timeline) 3.获取用户发布的微博消息列表 4.获取@当前用户的微博列表 5.获取当前用户发送及收到的评论列表 6....

    新浪微博api接口开发实例c#

    1.获取最新的公共微博消息 2.获取当前登录用户及其所关注用户的最新微博消息 (别名: statuses/home_timeline) 3.获取用户发布的微博消息列表 4.获取@当前用户的微博列表 5.获取当前用户发送及收到的评论列表 6....

    SOA架构十大设计原则

    日前国外网站报道介绍了面向服务架构(SOA)的基本原则,提出了公共接口与内部实现要有明确界限等原则。虽然这些原则并不是绝对的真理,但可作为一个应用开发参考。  一、明确的边界  通过跨越定义明确的边界进行...

    C&D发布全集成以太网供电PD接口模块NMPD

     NMPD模块非常适合用于从安全设备和公共地址系统到远程环境监控、遥感勘测和工业控制的PoE设计应用。源于IEEE802.3af协议的供电设备(PSE),该模块从以太网线缆的CAT5线组获取电能,最大输出功率10W。 每个模块都...

    基于spring boot 的API敏捷开发框架,用于API接口功能的快速开发

    "Rocket-API" 基于spring boot 的API敏捷开发框架,用于API接口功能的快速开发。不再定义Controller,Service,Dao,Mybatis,xml,Entity,VO等对象和方法.以springboot starter 形式集成使用。服务端50%以上的功能只需要...

    asp.net 新闻发布系统论文

    可以使用任何与公共语言运行库(CLR)兼容的语言(包括 Visual Basic.NET、C# 和 JScript .NET)来创建应用程序。该系统使用ASP.NET(C#语言)和ADO.NET技术开发, 实现了网站新闻的动态管理,使得对信息的管理更加及时、...

    某地中心书城物联网平台智慧集成平台详细功能需求清单-0120.xlsx

    可基于爱投斯(IOTOS)物联网系统集成平台开发: API管理 产品管理 分组管理 规则引擎 Topic 管理 消息通信 数据开发 平台登录 登录界面 系统首页设计 综合态势界面开发 安全综合... 信息导引及发布系统接口开发

    riscv-sbi-doc:RISC-V Supervisor二进制接口的文档

    它是公共可读的,但发布必须是RISC-V Foundation的成员。 任何新的SBI扩展都需要在此处进行讨论和批准,然后再进行合并。 是参考实现,但是还存在其他实现。 请参阅“ SBI实施ID”部分。发牌此存储库中的文件已根据...

    MyCms响应式个人博客资讯简洁模板 v1.0.zip

    8、文章评论发布接口 9、会员登录接口 10、会员注册接口 11、会员信息接口 12、商品分类列表接口 13、商品分类详情接口 14、商品列表接口 15、商品详情接口 16、省市县列表接口 系统特性 1、Swoole加速 2、简洁优雅...

    genologics-geneus-lims-tools:Javagroovy 通过其 REST API 和 postgreSQL 数据库与 GenoLogics Geneus LIMS 接口

    通过 REST API 和 postgreSQL db 与 Genologics Geneus LIMS 的 Java/groovy 接口。 版权所有 (C) 2012 Suzanne Paquette, Deborah Siegel 该程序是免费软件:您可以根据自由软件基金会发布的 GNU 通用公共许可证...

    registry-3.1.3.zip

    com.ice.jni.registry包已被置于公共领域。因此,你绝对不许可的要考虑的问题。你可以做你希望的任何代码。当然,我总是欣赏它时,你适当的信用我的工作。 包将与Java 1.1和更高的工作,并使用JavaSoft的原生接口,...

    大数据标准体系(1).doc

    附件1 大数据标准体系 "序号 "一级分类..."暂时空缺" "42 " "隐私保护 "GB/Z 28828-2012"信息安全技术公共及商用服务信息系统个人信息保护指南 "已发布 " "43 " " "-T-469 "信息安全技术个人信息保护管理要求 "在研

Global site tag (gtag.js) - Google Analytics