Upload
inomata-kentaro
View
9
Download
3
Embed Size (px)
DESCRIPTION
VSUG DAY 2009 Winter Lightning Talk2009/12/5
Citation preview
GUIGUIのアーキテクチャのアーキテクチャ猪股 健太郎
自己紹介自己紹介
猪股 健太郎
日本ユニシス
MSMVP for Visual C#
Silverlightを囲む会@東京
@ITで連載中「Application Architecture Guideの概要」
元ネタ元ネタ
Martin Fowler“GUI Architectures”
http://martinfowler.com/eaaDev/uiArchs.html
Form1.cs
画面レイアウトとイベントハンドラ登録
イベントハンドラ1DBアクセスして業務処理して画面更新
イベントハンドラ2入力データを加工してDBアクセスして画面更新
3イベントハンドラ3
やりたいことやりたいこと
関心の分離
依存関係の整理
テストしやすさの向上
再利用性(UI部品を交換してもロジックを修正せず使える)
ModelModel--ViewView--ControllerController
ユーザー入力のユーザー入力の受け付け
画面表示
業務処理&データ管理
ModelModel--ViewView--ControllerController
Controllerユーザー入力の
Controllerユーザー入力の
受け付け
View画面表示
ModelModel業務処理&業務データ
そんなことをいってもそんなことをいっても…………
Controllerユーザー入力の
Controllerユーザー入力の
受け付け
View画面表示
ModelModel業務処理&業務データ
フォントの色フォントの色
タブの選択状況タブの選択状況
プログレスバーのプログレスバーの進捗
解決策解決策11
View画面表示
Presentation ModelPresentation Model画面データ
ModelModel業務処理&業務データ
フォントの色
タブの選択状況
プログレスバーの進捗
解決策解決策22
PresenterPresenterViewとModelの
仲介
View画面表示
ModelModel業務処理&業務データ
まとめまとめ
FormはViewに徹する
Visual Studioと上手に付き合う
GUIのフレームワーク• Composite Application Guidance• Smart Client Composite UI Application
Block• 各種MVVMフレームワーク@CodePlex