14
GUI GUIのアーキテクチャ のアーキテクチャ 猪股 健太郎

GUIのアーキテクチャ

Tags:

Embed Size (px)

DESCRIPTION

VSUG DAY 2009 Winter Lightning Talk2009/12/5

Citation preview

Page 1: GUIのアーキテクチャ

GUIGUIのアーキテクチャのアーキテクチャ猪股 健太郎

Page 2: GUIのアーキテクチャ

自己紹介自己紹介

猪股 健太郎

日本ユニシス

MSMVP for Visual C#

Silverlightを囲む会@東京

@ITで連載中「Application Architecture Guideの概要」

Page 3: GUIのアーキテクチャ

元ネタ元ネタ

Martin Fowler“GUI Architectures”

http://martinfowler.com/eaaDev/uiArchs.html

Page 4: GUIのアーキテクチャ
Page 5: GUIのアーキテクチャ
Page 6: GUIのアーキテクチャ
Page 7: GUIのアーキテクチャ

Form1.cs

画面レイアウトとイベントハンドラ登録

イベントハンドラ1DBアクセスして業務処理して画面更新

イベントハンドラ2入力データを加工してDBアクセスして画面更新

3イベントハンドラ3

Page 8: GUIのアーキテクチャ

やりたいことやりたいこと

関心の分離

依存関係の整理

テストしやすさの向上

再利用性(UI部品を交換してもロジックを修正せず使える)

Page 9: GUIのアーキテクチャ

ModelModel--ViewView--ControllerController

ユーザー入力のユーザー入力の受け付け

画面表示

業務処理&データ管理

Page 10: GUIのアーキテクチャ

ModelModel--ViewView--ControllerController

Controllerユーザー入力の

Controllerユーザー入力の

受け付け

View画面表示

ModelModel業務処理&業務データ

Page 11: GUIのアーキテクチャ

そんなことをいってもそんなことをいっても…………

Controllerユーザー入力の

Controllerユーザー入力の

受け付け

View画面表示

ModelModel業務処理&業務データ

フォントの色フォントの色

タブの選択状況タブの選択状況

プログレスバーのプログレスバーの進捗

Page 12: GUIのアーキテクチャ

解決策解決策11

View画面表示

Presentation ModelPresentation Model画面データ

ModelModel業務処理&業務データ

フォントの色

タブの選択状況

プログレスバーの進捗

Page 13: GUIのアーキテクチャ

解決策解決策22

PresenterPresenterViewとModelの

仲介

View画面表示

ModelModel業務処理&業務データ

Page 14: GUIのアーキテクチャ

まとめまとめ

FormはViewに徹する

Visual Studioと上手に付き合う

GUIのフレームワーク• Composite Application Guidance• Smart Client Composite UI Application

Block• 各種MVVMフレームワーク@CodePlex