java - 向每个方法引入新变量的通用方法
问题描述
public interface Names{
public List<String> getFirstNames();
public List<String> getNamesWithPrefix(String prefix);
public List<String> deleteName(String name);
....
....
}
例如,现在引入了一个名为String source的新变量,它需要在每个方法中传递。想象一下变量源告诉我必须从哪个源获取名称。
是否有一种定义源的通用方法,以便这些方法应该相应地工作?
选项1:将字符串源添加到每个方法,然后在方法中获取源详细信息,根据我的说法,这不是一个干净的代码。
解决方案
不要更改用于为您拥有inheritance
的每个类实现单个类的方法签名。source
在这种情况下,您可以注入与您的源匹配的相应子类。使用您的姓名interface
,例如source
X 和 Y,它将导致:
public class XNames{
public List<String> getFirstNames(){...};
public List<String> getNamesWithPrefix(String prefix){...};
public List<String> deleteName(String name){...};
....
....
}
public class YNames{
public List<String> getFirstNames(){...};
public List<String> getNamesWithPrefix(String prefix){...};
public List<String> deleteName(String name){...};
....
....
}
推荐阅读
- c - 为什么循环中的 n mod 10 不显示输出
- flutter - 有几个问题经过一整天的反复试验仍然无法正常工作。与标签和抽屉有关的问题
- webpack - 将 csp-html-webpack-plugin 添加到 vue-cli 项目
- daemon - 如何从客户端向服务器发送参数到守护进程?
- github - 如何在 jupyter-notebook 中使用 git repo
- c++ - 函数模板重载与完全专业化
- javascript - 如何在 Firestore 版本 9 中组合不同的路径
- terraform - 意外删除和锁定后恢复 terraform 状态
- jenkins - 访问Jenkinsfile中GitSCM插件的credentialsId
- lora - LoRaWAN OTAA TTN 超时,网关捕获消息