public class Apple {
private final Orange orange;
private final Pear pear;
private final Banana banana;
public Apple(Orange orange, Pear pear, Banana banana) {
this.orange = orange;
this.pear = pear;
this.banana = banana;
}
// methods
}
这是我的POJO课程。现在,我在onClick方法中执行实例化部分。
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Apple apple = new Apple(myOrange, aPear, theBanana);
new AppleAsyncTask(apple ).execute();
})
};
如何使用依赖注入避免使用此实例化部分并做更好的事情?或者我正在做什么?
答案 0 :(得分:1)
如果您要求将Apple注入AppleAsynTask,那么您所做的就是正确的。依赖注入是Inversion of Control的一种类型。还有其他方法可以在此程序之外实例化Apple。例如,您可以使用factory或service locator
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
new AppleAsyncTask(AppleFactory.getApple(myOrange, aPear, theBanana)).execute();
})
};
你在做什么对我来说很好。