静的型付け言語の潜在開発生産性は今の100倍
■ このスレッドは過去ログ倉庫に格納されています
0403デフォルトの名無しさん
2013/03/17(日) 21:14:09.95ご託は良いからMVCにGUIコンポーネントの名寄せやDuckTypingが必要なケースを(ry
JavaでMVCやるときのViewの設計のパターンの一つはViewのインターフェイスをViewの
実装とは無関係に定義する方法。これを実装したViewをControllerなりFacadeに差し込む。
public interface FruitListView{
void showFruitItems(List<Fruit> fruitList);
...
}
次にある瞬間Viewの画面に表示するデータを保持するコンテナ、大抵はViewModelと
呼ばれるものを定義してインスタンスを注入する方法。もちろんViewModelもViewの
実装の詳細とは無関係。DIコンテナを使うWeb系のフレームワークにはこれが多い。
public class FruitListViewModel{
List<Fruit> fruitList;
}
public interface FruitListView{
void setViewModel(FruitListViewModel viewModel);
}
MC間とより複雑なインタラクションが必要となるGUIの場合、ViewModelではなくクラス
階層を持ったNotificationとして、Notificationとして受けておいてViewの中でRTTIで
Notificationの型を見て必要なデータと処理内容を得るのがPureMVCなんかのパターン。
最後にこれはフレームワークの支援が必要だけれども、テンプレート言語を使って書かれた
viewにViewModelをバインディングする方法。
何れにしても今日的なMVCフレームワークではViewの外面にJLabelとかいったViewの詳細
が立ち現れることはまず無い。
■ このスレッドは過去ログ倉庫に格納されています