0

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

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

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

克服这些要求的最佳方法是什么?我应该像下面给出的那样更改整个应用程序的方法声明和方法调用,还是有其他方法可以减少我们的工作量?

getCustDetails(areaCode,status);

有谁能够帮我?

4

3 回答 3

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) {
    ...
    ...
    ...
}
于 2013-09-05T12:46:36.053 回答
0

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

于 2013-09-05T12:42:41.667 回答
0
  1. 更改签名并大规模重构您的代码
  2. 改变方法体来满足新的需求(非常愚蠢的方法,因为需求总是可以再次改变
  3. 如果我是你,我会定义带有 2 个参数的新方法,getCustDetails(areaCode,status);并在需要时调用它。您getCustDetails(areaCode);只需调用 newgetCustDetails(areaCode,status);并将状态设置为 null。我认为这是最好的方法
于 2013-09-05T12:43:34.753 回答