在通用组件API设计中,如果有接口的变更需求,怎么做才能既能实现新的需求,又能与以往使用这个组件的系统兼容,并且又尽量不增加我们维护接口的工作量呢?
例如以下的场景:
有接口A:
其实现的方法C:
现在有新的需求:在原来的接口的方法中增加一个参数。我们应该怎么去做?
如果我们直接修改原来的接口,改为:
这样做会导致以前所用支持接口A的系统都需要根据我们的变化进行修改,会导致使用我们接口的系统不可取。可以使用下面的方法:
方法一. 定义一个新的接口,扩展原来的接口,并且在里面定义我们需要的新的方法,这样原来的系统使用新的接口也仍然是支持的:
对于原先实现接口A的类C,使其去实现接口B中的方法:
这样,对外公开的接口有接口A没有变,只改变了它的实现方法,对于原来使用接口A的系统,并不会由于组件的变化而产生额外的影响。
方法二: 定义一个新的接口B,使之扩展接口A:
让原来的类C实现接口B:
方法二的接口B因为扩展了接口A,接口之间存在依赖关系,所以使用方法一会更利于接口的维护。
分享到:
相关推荐
### 接口需求规格说明(IRS)知识点解析 #### 一、引言 - **1.1 标识** - 内容: 包含本文档适用的系统接口实体和接口的完整标识,包括但不限于标识号、标题、缩略语、版本号和发行号。 - 目的: 明确文档的适用范围...
在IT行业中,接口需求文档是系统开发过程中至关重要的部分,它定义了不同系统或模块间的交互方式,确保各个组件能够顺畅地协同工作。本压缩包文件"接口需求文档模板.rar"提供了一份简单实用的模板,旨在帮助开发者和...
接口需求的定义不应被忽略或简化,而是应当得到充分的重视。忽视接口需求将导致系统间的交互问题,影响系统的整体质量。 此外,随着软件开发环境的不断变化,接口的维护和演进也是不可避免的任务。及时的反馈和迭代...
3.2.4接口需求 5 3.3系统能力需求 5 3.3.x(系统能力) 5 3.4系统外部接口需求 6 3.4.1接口标识和接口图 6 3.4.x(接口的项目唯一标识符) 6 3.5系统内部接口需求 7 3.6系统内部数据需求 7 3.7适应性需求 7 3.8安全性...
下面是对 TSS2.0 接口需求分析的概述: 首先,从系统架构看,虚拟化安全可信软件 V2.0 系统的调用层次结构可以分为四个层次: 1. 业务应用层:处理业务逻辑,接受虚拟化安全可信管理端发送的请求,解析并调用业务...
在Swift编程中,按顺序请求接口是一个常见的需求,特别是在处理一系列依赖于前一个请求结果的网络操作时。这里我们将深入探讨如何使用Swift实现这样的功能,包括基础的URLSession、PromiseKit、Alamofire等库的使用...
本文将详细介绍Java调用Restful API接口的方式,包括使用HttpURLConnection、HttpClient和Spring的RestTemplate等方式,并对每种方式进行详细的分析和比较。 首先,介绍了使用HttpURLConnection实现Restful接口的...
高通 SA8295P 芯片提供了卓越的显示处理能力和灵活的接口支持,使其成为处理高分辨率、高刷新率显示应用的理想选择。通过选择适当的接口配置和优化设计方案,可以有效支持 8K 120Hz 显示屏和多屏幕系统,提供卓越的...
总的来说,这个接口需求涵盖了数据准备、数据处理、数据安全以及业务逻辑等多个方面,需要乙方开发出高效且安全的程序来满足甲方的自动化开票需求。在实现过程中,还需要考虑到数据的验证、异常处理以及与税控设备的...
7. **最佳实践**:在调用银海医保接口时,应遵循一些最佳实践,例如使用异步编程以避免阻塞主线程,对敏感数据进行加密传输,以及定期更新和维护接口文档以适应医保政策的变化。 综上所述,银海医保接口在.NET环境...
8. **培训与技术支持**:随着新接口的推出,可能有配套的培训资料和在线技术支持服务,帮助用户快速理解和掌握接口的使用方法。 9. **法规遵从**:航天金税接口3.0的设计和实施必须符合中国的税收法规,确保企业在...
软件服务外包大赛需求分析文档(大数据处理) 本文档是关于软件服务外包大赛需求分析项目的文档,主要涉及大数据处理领域。该项目的目的是为了帮助某公司实现数据整合和_analysis报表平台的建设,以便实现企业级的...
概要设计是对整个系统或模块的高层架构进行规划和设计,包括系统的组织结构、主要模块划分、模块间的接口关系以及系统的主要特性。在华为的模板中,概要设计通常包含以下几个部分: - 系统架构设计:描述系统的总体...
这个模式适用于各种规模的系统,从小型到中型,甚至复杂的大型系统,尤其是在有多重接口需求的情况下。 在系统间接口需求模式中,首要任务是识别并定义系统与外部环境的边界,这通常通过绘制系统上下文图来实现。这...
在分布式系统设计中,接口的幂等性是一个关键概念,尤其是在金融系统或者订单处理系统中,确保操作的唯一性和不可重复执行是至关重要的。例如,我们提到的“不能重复扣款”的需求,就直接涉及到幂等性的应用。下面将...
中国邮政的“新一代寄递业务信息平台咨询设计”项目的接口需求说明书主要涵盖了多个API接口,这些接口主要用于电子商务商家与邮政小包服务的对接,确保包裹的寄送、追踪、派揽、账单处理等环节的自动化和高效性。...
这有助于理解接口需求产生的背景和业务逻辑。 3. 概要设计 3.1 接口通讯方式 详细阐述了接口通信的方法,可能是HTTP、SOAP、RESTful API或其他协议,同时说明是同步还是异步交互,是否使用消息队列等技术。 3.2 ...
这份文档详细阐述了系统在处理国际结算业务时对影像接口的具体需求,确保系统的高效、安全与合规性。以下是该文档可能包含的关键知识点: 1. **系统概述**:首先,文档可能会介绍新一代国际结算系统的目标,即提高...
系统内部接口通常采用前者,而系统间接口则多采用后者,可能需要数据的汇总和加工处理。系统外部接口面临更大的挑战,因为涉及的数据模式可能差异较大,可能需要智能识别和转换数据模式。 在接口实现方式上,常见的...
2. **可维护性**:设计时应考虑到未来的维护和升级需求,接口应当易于理解、修改和扩展。 3. **安全性**:由于军事软件涉及敏感信息,接口设计必须充分考虑安全措施,如数据加密、身份验证和访问控制等。 4. **性能*...