コンストラクターで 2 つの ArrayList 依存関係を削除するために、このクラスを DIP (依存関係反転原則) に従うように変更するにはどうすればよいですか? インターフェイスはどうあるべきですか?
私を混乱させることの 1 つは、新しい参照ArrayList<type>
がクラスのコンストラクターだけを指していないことです。そして、私はその状況に対処する方法がわかりません...
package mvc.controllers;
import java.util.ArrayList;
import mvc.models.AbstractModel;
import mvc.views.AbstractViewPanel;
public abstract class AbstractController {
private ArrayList<AbstractViewPanel> registeredViews;
private ArrayList<AbstractModel> registeredModels;
public AbstractController() {
registeredViews = new ArrayList<AbstractViewPanel>();
registeredModels = new ArrayList<AbstractModel>();
}
public void addModel(AbstractModel model) {
registeredModels.add(model);
model.addPropertyChangeListener(this);
}
public void removeModel(AbstractModel model) {
registeredModels.remove(model);
model.removePropertyChangeListener(this);
}
public void addView(AbstractViewPanel view) {
registeredViews.add(view);
}
public void removeView(AbstractViewPanel view) {
registeredViews.remove(view);
}
...
}