`

避免参数定义引起接口变动

阅读更多
避免参数定义引起接口变动

接口在java中是个很好的东西,使用接口能够使设计变得灵活,运用得好能够很大程度减少代码之间的耦合度,提高系统的扩展性。一个好的接口,不因该是经常变动的,接口的定义体现着设计者对业务的理解,对设计者设计功底的体现。实际中,接口的设计往往不可能面面俱到,但是应该尽量避免变动。这里发现一条经验,就是接口传递参数时,尽量用用一个参数封装多个参数,比如说有个接口中有个方法


Java代码 
public void m1(String p1,String p2);  

如果中途,发现传递的参数不足,变为
Java代码 
public void m1(String p1,String p2,int n);  

后面某个时候,又觉得增加传入参数,这下又得加了,接口跟着变,使用的人可能跟着头疼,如果一开始的时候就这么定义
Java代码 
public void m1(Param p1);  
Param 是参数类:
Java代码 
public class Param 

   public String p1; 
   public String p2; 
 

后面加参数,就不需要变动接口方法了,只需要在Param 中增加参数:
Java代码 
public class Param 

   public String p1; 
   public String p2; 
   public int n; 

这样就避免了接口的频繁变动,尤其是在第三方接口中尤为重要,不光是传入参数,传出也是类似道理。

其实比较扩展做法是接口参数传递接口,更加灵活:
Java代码 
public void m1(IParam p);  
IParam是参数接口,这样就更加加大了扩展空间和想象空间。
分享到:
评论

相关推荐

    motorola 对讲机 接口定义

    这些协议定义了数据位、停止位、校验位和波特率等参数,确保数据的正确发送和接收。 3. 控制信号:这些信号用于启动、停止或调节对讲机的操作。例如,PTT(Push-to-Talk)信号用于指示用户正在讲话,而SQL( ...

    p328GP338 接口定义

    Gp328 GP338 接口定义 可以了解各个接口的用途

    MPI接口针脚定义

    MPI接口 针脚 定义,图形表示,不会理解错的,本人整理的

    SFP光模块电气接口定义.pdf

    电气接口定义还包括特定的电气特性参数,如下: - Vcc:3.3V±5%电源,典型工作电流为300mA。 - Vee:模块的地。 - Tx+ / Tx-:差分信号发射对,传输数据时电压幅度范围在500mV到2400mV之间。 - Rx+ / Rx-:差分...

    C#Post带参数请求+WebService接口.zip

    本压缩包“C#Post带参数请求+WebService接口.zip”提供了关于如何使用C#进行POST请求并调用WebService接口的相关代码示例。下面我们将深入探讨这两个核心知识点。 1. **C# 带参数POST请求**: 当需要向服务器发送...

    PC104接口定义

    ### PC104接口定义详解 #### 引脚定义与功能概述 PC104接口是一种紧凑型的工业计算机标准接口,旨在为嵌入式应用提供高性能和高可靠性。其设计目的是为了替代传统的PC/AT架构,同时保持与ISA总线的兼容性。下面将...

    FMC接口连接标准

    FMC接口连接标准是FPGA标准接口卡规范的翻译版本,旨在定义FMC接口的连接规则和信号定义规则。该标准规定了FMC接口的管脚定义规则、信号名称定义规则、时钟信号定义规则、差分信号定义规则、单端信号定义规则等。 ...

    PCIe-M.2-接口规范-V1.0-接口定义

    PCIe M.2接口规范是一种电子机械接口标准,用于定义一种紧凑型连接器,能够连接个人电脑、笔记本电脑或其他形式的计算设备与固态存储装置、无线网卡等模块。M.2接口的形状小巧,支持多种连接协议,包括PCI Express ...

    LED显示屏08接口定义

    LED显示屏08接口是用于控制和驱动LED显示屏的基础硬件接口,尤其在自制LED显示屏时,了解这些接口的定义和功能至关重要。08协议通常指的是采用8位数据传输的通信协议,这种协议常用于简单的LED显示控制,因为它可以...

    PCIeM.2接口规范V1.0接口定义.pdf

    PCIe M.2接口规范V1.0是关于PCI Express Mini Card (M.2)标准的一个文档,它详细定义了M.2设备与系统之间接口的电气和机械特性,以及M.2卡与插槽的兼容性。该规范涉及的主要知识点包括: 1. PCIe M.2接口的总线和...

    三星全系列数据线接口定义图

    关于三星全系列手机数据线接口的各个引脚的定义图

    hytera定义

    2. **数据接口**:数据接口如USB端口,用于与电脑或其他设备进行数据传输,例如更新固件、配置设备参数或者进行录音回放。有些高端型号可能还支持串行接口(如RS-232),用于更复杂的编程和系统集成。 3. **模拟和...

    NGFF与NVME复用对比表(M.2接口NVME(PCIE)与SATA针脚接口定义)

    很多主板上的M.2接口都是SATA与NVME复用, 即插入NVME硬盘或无线网卡,走pcie信号,插入NGFF的硬盘走SATA信号。 这张对比表则是2个不同信号总线的针脚定义,供开发或主板维修使用。

    硬件接口定义

    硬件接口定义硬件接口定义硬件接口定义硬件接口定义硬件接口定义硬件接口定义

    PCI-E插槽接口定义

    PCI-E插槽接口定义,适合设计PCI-E接口设备的参考。

    DLL接口函数查看工具

    DLL接口函数实际上是DLL文件中定义的一系列公开函数,这些函数具有明确的调用约定和参数类型,使得其他程序能够安全地调用它们。DLL文件不包含执行入口点,它仅提供服务,由需要这些服务的可执行文件(EXE或另一个...

    USB 2.0 A 型、B 型、Mini和 Micro 接口定义及封装

    ### USB 2.0 A 型、B 型、Mini 和 Micro 接口定义及封装 USB(Universal Serial Bus)即通用串行总线,在计算机领域内被广泛应用于各种外设连接,它提供了标准化的数据传输接口,使得不同设备之间能够进行高效的...

    后端接口文档例子 word

    在上面的接口文档中,我们可以看到请求参数的定义。这些参数包括storeId、merCode等,这些参数都是必填项,用于标识门店信息。 * storeId:门店的唯一标识符,类型为Int。 * merCode:品牌的唯一标识符,类型为...

    Java重定义接口实现代码的自动注入.pdf

    总的来说,Java重定义接口实现代码的自动注入是一种解决接口变动与系统升级矛盾的有效技术,它借助于Java的动态性,让接口的扩展变得更为便捷,同时减少了代码维护的工作量。在软件开发过程中,合理运用这项技术,...

Global site tag (gtag.js) - Google Analytics