AutoMapperを使ってオブジェクト間のデータコピーを自動化するには?(基本編)
この記事を見ていて気になる記述を見つけた。
「あるオブジェクトのプロパティ値を別のオブジェクトのプロパティ値にコピーするコードは、よく書くものだ。特にMVVMなどのアーキテクチャでロジックと画面を分離するときには、頻繁に記述することになる。」
読み進んでみると、
' ロジックを呼び出してデータを取得する
Dim data As IList(Of Person) = Person.GetData()
' 表示用のコレクションを用意する
Dim personsList = New PersonsList()
' データを表示用のコレクションにコピーする(AutoMapper未使用)
これじゃないすか?データアクセスコンポーネントというものは。他に人に聞いたら、画面単位で定義しているらしい。画面単位で必要なデータを取得したり、更新をかけるデータアクセスコンポーネントを作ってると。きっとそうだよ。テーブル単位にクラスを作って、わざわざテーブルのカラムごとにプロパティ設定したり、入力チェックしたり、主キーや主な項目だけしか検索できないようなメソッドを手間かけて作って、結局大して便利でない部品を作る意味は無い!!
データアクセスコンポーネントの中ではテーブルアダプター使おうが、SQL文を書こうが、それは都合のよい用にすればいい。UI側からはクラスのメソッドやプロパティが使えればいいだけ。リスト形式のデータならデータテーブルで渡せばいいだけ。
ああ、意味ない。テーブルアダプターでできることをいちいち手で作ってるだけ。どうすんだ、これ・・・・。次のプロジェクトでは絶対使わない。