Powershell XamlファイルなしGUI ObservableCollectionによるデータバインディング(MVVM パターン)

PowerShell

MVVMは Mode-View-ViewModel Pattern と呼ばれるデザインパターンの1つ。
ソフトウェアをModel、View、ViewModelの3種類に分類し設計・実装する。

これまでに作成したGUIサンプルと見た目は同じ、今回はこの中のViewとViewModelにフォーカスした内部構造を変更している。

MVVMはWeb三層構造や二層構造のような機能分割手法の1つで、考え方が似ているように思えるが。ちょっと違うコンセプトらしい。

「ビジネス・ロジックとプレゼンテーション・ロジックを分割する」という目的とともに、開発者がUIデザイナーと協業でアプリケーションを作っていく未来を見据えたパターン

MVVMパターンの常識 ― 「M」「V」「VM」の役割とは?(1/5) – @IT (itmedia.co.jp)

WPF/Silverlightなどのリッチ・クライアント世界のModelは、Webシステムのそれとは決定的に違います。決定的に違うのは、それはステートフルであることです。

MVVMパターンの常識 ― 「M」「V」「VM」の役割とは?(4/5) – @IT (itmedia.co.jp)

組み込み系やWeb三層構造や二層構造の内部ロジックなど、システム内部の設計メインの開発者が作成するGUI側の設計は、必要十分な情報はあるが、見た目がわりと雑(機能ボタンや表示がすべてそろっていればいい、センスとか関係ない)といった作りになりがち。他方、GUIの画面設計メインの開発者が作成する内部構造は、構造ぐちゃぐちゃでメンテナンスが大変(グローバル変数ばりばり、処理関数がとんでもなく長く、処理が冗長)といったケースを見たこともあるし、他でもあるのだろうと想像もできる。そういう意味では、GUI側とシステム内部側の設計を分業しやすいこのモデルには意味があり、この機能分割でソースがすっきりする可能性があることがわかりました。

参考URL

MVVMパターンを使用したWPFにおける View - ViewModel の連携について - Qiita
はじめに WPFを触り始めて一番最初にピンとこなかったのは ViewとViewModelとの間でどのようにイベントやデータを連携しているのか? ということでした。 そのあたりについて学習したので、理解の整理のためにアウトプットし...
PowerShell DeepDive: WPF, Data Binding and INotifyPropertyChanged
PowerShell can be used to create some nice UI front-ends using the Windows Presentation Framework (WPF). You can create anything from a simple popup window to a...
MVVMパターンの常識 ― 「M」「V」「VM」の役割とは?(4/5) - @IT

コメント

タイトルとURLをコピーしました