如何用不同的标准操纵相同的方法?

时间:2013-09-05 12:37:30

标签: java database

我正在研究一个java应用程序。我有一个场景如下。

我有一个存储过程来获取客户详细信息,我将“areaCode”作为参数传递。使用getCustDetails(areaCode)方法从应用程序调用此过程。该方法在整个应用中使用超过100次。

即。 getCustDetails(areaCode); 现在我的要求发生了变化。现在我的数据库表中有一个名为“status”的列。现在我想获取其状态栏中具有“活动”价值的客户详细信息。

通过此要求克服的最佳方法是什么?我是否应该将方法声明和方法调用更改为以下给出的应用程序,或者还有其他方法可以减少我们的工作吗?

getCustDetails(areaCode,status);

有人能帮助我吗?

3 个答案:

答案 0 :(得分:1)

您可以保留原始方法并创建新方法:

public ReturnType getCustDetails(Type1 areaCode) {
    // Move your code to the new function
    // call the new function
    getCustDetails(areaCode, DEFAULT_STATUS /* Or null */);
}

public ReturnType getCustDetails(Type1 areaCode, Type2 status) {
    ...
    ...
    ...
}

答案 1 :(得分:0)

无需修改现有方法,只需创建新方法getCustDetails(status)getCustDetails(areaCode,status)

答案 2 :(得分:0)

  1. 更改签名并批量重构您的代码
  2. 改变方法主体以满足新的要求(因为要求总是可以改变,所以非常愚蠢的方法
  3. 如果我是你,我会用2个参数getCustDetails(areaCode,status);定义新方法,并在需要时调用它。您的getCustDetails(areaCode);只会调用状态设置为null的新getCustDetails(areaCode,status);。我认为这是最好的方法