接口在java中是个很好的东西,使用接口能够使设计变得灵活,运用得好能够很大程度减少代码之间的耦合度,提高系统的扩展性。一个好的接口,不因该是经常变动的,接口的定义体现着设计者对业务的理解,对设计者设计功底的体现。实际中,接口的设计往往不可能面面俱到,但是应该尽量避免变动。这里发现一条经验,就是接口传递参数时,尽量用用一个参数封装多个参数,比如说有个接口中有个方法
public void m1(String p1,String p2);
如果中途,发现传递的参数不足,变为
public void m1(String p1,String p2,int n);
后面某个时候,又觉得增加传入参数,这下又得加了,接口跟着变,使用的人可能跟着头疼,如果一开始的时候就这么定义
public void m1(Param p1);
Param 是参数类:
public class Param
{
public String p1;
public String p2;
}
后面加参数,就不需要变动接口方法了,只需要在Param 中增加参数:
public class Param
{
public String p1;
public String p2;
public int n;
}
这样就避免了接口的频繁变动,尤其是在第三方接口中尤为重要,不光是传入参数,传出也是类似道理。
其实比较扩展做法是接口参数传递接口,更加灵活:
public void m1(IParam p);
IParam是参数接口,这样就更加加大了扩展空间和想象空间。
分享到:
相关推荐
- **实践建议**:定义接口来规定类的行为规范,使得不同实现之间可以互相替换。 #### 3. 避免类之间的紧密耦合 - **原则描述**:类与类之间的相互依赖程度越低越好。 - **实践建议**:通过减少类间的直接引用,...
### 设计模式学习笔记 #### 一、简单工厂模式 (Simple Factory) **类图与描述:** 简单工厂模式的核心在于存在一个工厂...桥接模式主要用于解决抽象与实现耦合度高的问题,避免修改抽象层时引起实现层的大规模变动。
- **接口稳定性**:维护API接口的稳定性,避免频繁变动引起依赖项的问题。 - **文档完备性**:为库提供全面的文档资料,方便其他开发者使用。 #### 移植性 - **跨平台设计**:确保软件能够在不同操作系统和硬件架构...
ABAP/4 Open SQL 是一种用于在 ABAP 程序中访问数据库的标准化 SQL 接口。它允许开发者使用统一的语法访问不同类型的数据库,简化了跨数据库平台的开发工作。 #### ABAP/4 参数 (abap/4 parameter) ABAP/4 参数是...
为了避免这样的警告,C++允许声明一个无名形参,以告诉编译器存在该参数,且调用者需要为其传递一个实际参数,但是函数不会用到这个参数。下面给出使用了无名参数的C++函数代码: int fun(int x,int) //注意不同点...
- **操作限制**:禁止通过测试操作更改可能引发系统重大变动的软元件数据,以避免误输出或误动作导致的安全事故。 #### 三、概要 - **服务器·客户机功能特点**:介绍该功能的基本特性和应用场景。 - **邮件发送...