アプリケーションアーキテクチャ

今までは処理の全てをコードビハインドにゴリゴリ書いたり、せいぜいビジネスロジックをModel層としてプレゼンテーションとは切り分けるような方式だったのですが、WPFをやるようになってからMVVMだのMVPVMだの、やたらとアーキテクチャが登場してきます。

(今までの案件がフリーダム過ぎたという噂もありますが。。)

確かに大規模なWPFの業務アプリケーションであれば各要素を疎結合とし、責務を明確化する事でスパゲッティ化を防ぎ、コードの標準化が実現できるメリットがあるような気がします。
(もちろん現場である程度の教育と統制が取れているのは前提として。。)

ただ、担当アーキテクトの自己満足のため、もしくは単なる社内ルールとして機械的にモデル化のためのモデル化を進めている印象が感じられなくもないケースもあります。

例えば大した機能のない小規模なストアアプリにすらモデルを適用しようとする。
適用すればソースコードの見渡しは良くなりますが、複雑なアーキテクチャを採用し階層を分ければ分けるほど各工程でオーバヘッドが増えていくのも確実です。
見渡すべきソースコードが小さい場合、シンプルに作ってあげた方があらゆる面でメリットが大きいんじゃないかなあ・・・。
モデルというのも原則ではなく、目的を達するための一つの道具。
どのような場合においても極めて有効な所謂「銀の弾丸」はないというのがこの世界の前提だと思うのですが。。

という愚痴でした。。