相关疑难解决方法(0)

与春豆的战略模式

说我用春天,我有以下策略......

接口

public interface MealStrategy {
    cook(Meat meat);
}
Run Code Online (Sandbox Code Playgroud)

第一战略

@Component
public class BurgerStrategy  implements
MealStrategy {
  @Autowired CookerDao cookeryDao;

  @Override
  public void cook(Meat meat) {
      cookeryDao.getBurger(meat);
  }
}
Run Code Online (Sandbox Code Playgroud)

下一步策略......

@Component
public class SausageStrategy  implements
MealStrategy {
  @Autowired CookerDao cookeryDao;

  @Override
  public cook(Meat meat) {
      return cookeryDao.getSausage(meat);
  }
}
Run Code Online (Sandbox Code Playgroud)

背景...

@Component
@Scope("prototype")
public class MealContext {
    private MealStrategy mealStrategy;

    public void setMealStrategy(MealStrategy strategy) {
        this.strategy = strategy;
    }

    public void cookMeal(Meat meat) {
        mealStrategy.cook;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在说这个上下文是通过mvc控制器访问的,比如...

@Autowired
private MealContext …
Run Code Online (Sandbox Code Playgroud)

java spring strategy-pattern

23
推荐指数
2
解决办法
3万
查看次数

使用枚举作为地图的关键

我想enum用作键和对象作为值.以下是示例代码段:

public class DistributorAuditSection implements Comparable<DistributorAuditSection>{      

     private Map questionComponentsMap;  

     public Map getQuestionComponentsMap(){  
         return questionComponentsMap;  
     }  

     public void setQuestionComponentsMap(Integer key, Object questionComponents){  
         if((questionComponentsMap == null)  || (questionComponentsMap != null && questionComponentsMap.isEmpty())){ 
             this.questionComponentsMap = new HashMap<Integer,Object>();  
         }  
         this.questionComponentsMap.put(key,questionComponents);  
     }
}
Run Code Online (Sandbox Code Playgroud)

它现在是一个普通的hashmap,带有整数键,对象作为值.现在我想把它改成Enummap.这样我就可以使用这些enum键.我也不知道如何使用检索值Enummap.

java enums

18
推荐指数
2
解决办法
6万
查看次数

标签 统计

java ×2

enums ×1

spring ×1

strategy-pattern ×1