首页 > 解决方案 > 向每个方法引入新变量的通用方法

问题描述

public interface Names{
    public List<String> getFirstNames();
    public List<String> getNamesWithPrefix(String prefix);
    public List<String> deleteName(String name);
    ....
    ....
}

例如,现在引入了一个名为String source的新变量,它需要在每个方法中传递。想象一下变量源告诉我必须从哪个源获取名称。

是否有一种定义源的通用方法,以便这些方法应该相应地工作?

选项1:将字符串源添加到每个方法,然后在方法中获取源详细信息,根据我的说法,这不是一个干净的代码。

标签: javaspringspring-bootcoding-style

解决方案


不要更改用于为您拥有inheritance的每个类实现单个类的方法签名。source在这种情况下,您可以注入与您的源匹配的相应子类。使用您的姓名interface,例如sourceX 和 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){...};
    ....
    ....
}

推荐阅读