选择Java类

时间:2017-11-25 04:50:36

标签: java

我有一个看起来像这样的java类。

public class TestImpl implements TestInterface{
private static Fetcher mapFetcher = null;
private Map<String,String> maps = null;
static{
  mapFetcher = new Fetcher();// Fetcher's constructor executes logic to evaluate maps 
  }
  public TestImpl(){
    maps = mapFetcher.getMaps();
}

我现在有一个不同的类,它执行不同的逻辑来计算地图。我想决定使用从文件中读取的标志使用哪种逻辑

所以我认为我可以创建一个接口MapfetchersInt,并且会有类Fetcher1Fetcher2来实现MapfetchersInt并且有自己的逻辑来在类中设置地图TestImpl

Interface MapfetchersInt{} 

Fetcher1 implements MapfetchersInt{}

Fetcher2 implements MapfetchersInt{}

然后TestImpl将是

public class TestImpl implements TestInterface{
private static MapfetchersInt mapFetcher = null;
private Map<String,String> maps = null;
static{
   if(flag != null && flag.equals("A"))        
         mapFetchersInt = new Fetcher1();
   else
         mapFetchersInt = new Fetcher2();
   }
public TestImpl(){
     maps = mapFetcher.getMaps();
 }

我想知道这是否是实现此目的的正确方法。我被TestImpl类中的mapFetcher抛弃为静态。有更好的方法吗?

0 个答案:

没有答案