イントレ
  • 新規
  • ペイント
  • 一覧
  • 管理
  • Home
  • ダウンロード
  • 日記
  • イラスト
  • リンク
  • About
  •  RSS

本文へジャンプ


イントレ。

« Prev | Today | Next »

データに知能を持たせる。

[日記] C# / WPF >> 2009/07/25 (土) | 20:22:28 | 魅椥 愁
スマートなアプリケーションアーキテクチャの構築(1)

プロパティの代わりにフィールドを内包したクラスを用意して、
データの検証などのロジックをデータに持たせるとスマートという触れ込み。

この記事を見つけたのは数ヶ月前で、見つけたときは感心はしたものの使いどころがわからず、
頭の中に入れておくか…程度で済ませてしまった。
今は後悔している。

↑を基点にいろいろ弄ってMVVMに適用したのが↓。

[WPF][C#]データに知能を持たせる

readonlyフィールドで保持していたインスタンスを自動プロパティにすることでWPFとのバインディングに対応。
検証ロジックやModel←→ViewModel間のデータ変換をデリゲートで分離。

これだけでも十二分にViewModelの実装が楽になります。
コンストラクタで初期化する部分が多少複雑になるデメリットはありますが…。

しかし。
IEditableObjectを実装し、ViewModel基底クラスにプロパティ初期化ロジックを組み込むことで、
ViewModel単位でBeginEdit/EndEdit/CancelEditの透過的なサポートを実現しています。

要はMVVMの作り方+プロパティをちょっと弄るだけで、
検証ロジックとデータのロールバック動作がサポート出来るようになるということ。

正直、MVVM Tookitに取り込まれてもおかしくないぐらい凄いと思う。
そして、その可能性に気づけなかった自分の応用力のなさに愕然…。

もっと精進しなきゃ。
Loading...

HTML creation time [0.14sec.]
"intre." by MinagiSyu, sense 1999.11.23.
Powered by Nucleus CMS v3.41

Utilities

タグ
.NET | 園芸 | C# | SAP1x | ツクールもどき | サッカー | WPF | Windows 7 | PCパーツ | SAPFx | ...すべてのタグ
カレンダー
<   2009-07   >
日月火水木金土
   1234
567891011
12131415161718
19202122232425
262728293031 
最近の更新
    2010-07-11
  • [日記] WebMatrixが本気過ぎる件。
  • 2010-06-23
  • [日記] Google Reader APIの認証がまた変わった?
  • [更新履歴] Google Reader Notifier 改 r3をリリース。
  • [ダウンロード] Google Reader Notifier 改
  • 2010-05-31
  • [日記] DynamicObjectを使ったINotifyPropertyChangedラッパー。
  • 2010-05-28
  • [日記] タブが非アクティブな時にページを書き換えるフィッシング攻撃。
  • 2010-05-24
  • [日記] Mercurialのsubrepo。
Adsense