静的型付け言語の潜在開発生産性は今の100倍
■ このスレッドは過去ログ倉庫に格納されています
0420デフォルトの名無しさん
2013/03/17(日) 23:46:27.06View定義
public interface FruitView{
void displayFruit(Fruit fruit);
}
本当はイベント配送はフレームワークに管理させるべきところだけど>>409もリスナーとして
直接ViewをModelに貼り付けているのでコードの簡略のためmodelにViewの参照を持たせる。
public model FruitModel{
List<FruitView> views;
public void addView(FruitView view){this.views.add(view);}
public Fruit getFruit(){...}
public void setFruit(Fruit fruit){this.fruit = fruit; for(FruitView view: views) view.displayFruit(fruit);}
}
Viewの実装例
public class FruitViewImpl1 extends JPanel implements FruitView{
JLabel name; JTextField quantity;
public FruitViewImpl1(){ /* 子コンポーネントの生成とレイアウト */ }
void displayFruit(Fruit fruit){
this.name.setText(fruit.getText());
this.quantity.setText(fruit.getQuantity());
}
}
FruitModel model = new FruitModel();
FruitView view = new FruitViewImpl1();
model.addView(view);
model.setFruit(aFruit);
名寄せ? DuckTyping? 要らないよ。ちゃんとViewが実装の詳細と独立に抽象化されていれば。
■ このスレッドは過去ログ倉庫に格納されています