タグ

設計と.NETに関するsatrexのブックマーク (2)

  • M-V-VMパターン用動的プロキシ

    このようなものを作ったので公開。 ソースコード一式: DynamicMvvmHelper.zip ドキュメント: MvvmHelper.docx 簡単に言うと、ViewModel作るの、INotifyPropertyChangedの実装とかめんどくさいんで動的に勝手によろしくやってくれるDynamicObject実装。 階層的なデータに対しても利用可能。一応、DataAnnotationsによるデータ検証にも対応。 以下のようなタイプのアプリなら、ViewModel自作の必要性全くなくなります。 常時Model側更新されちゃっててOK。 Validationエラーはその場で例外発生。プロパティの値は更新しない。 DBとか要らない。 リストの追加削除くらいはしたい。 新規追加は引数なしのコンストラクター呼んで空のオブジェクト作るだけでOK。 これくらいのものなら、 View.DataCont

    M-V-VMパターン用動的プロキシ
  • 連載:.NETで始めるデザインパターン 第3回 リファクタリングにより導き出すStrategyパターン(2/3) - @IT

    ■リファクタリング1:Strategy階層のトップに位置するクラスの作成 最初に「価値」を出力するためのアルゴリズムをクラスに分離して独立させよう。具体的にはTextFormatterクラスを作成する。このクラスは、出力のためのクラスの階層(Strategy階層)のトップに位置することになるクラスである。 using System; namespace DesignPatterns.Core.TemplateMethod { public class TextFormatter { } } このコードをコンパイルして冒頭で作成したテストを実行する。もちろんコンパイルとテストは正常に完了するはずだ。 ■リファクタリング2:「メソッドの移動(F)」によるアルゴリズムの集合の分離 「価値」を出力するためのTextFormatterクラスが存在する状態では、「価値」を出力するという実行責任(アルゴ

  • 1