MVVM における View・ViewModel・Model のサイズについて、クラウディアさんを使って表現してみた


今朝、ツイッターでこんなやりとりがありました。












#なぜかツィートから ○ が消えてる・・・(- -;



そこで MVVM における View・ViewModel・Model のサイズについて、キャラクターを使って表現してみたいと思いました。昨日まで Windows Developer Days に参加してたこともあり、キャラクターはクラウディアさん([twitter:@Claudia_Azure]) に登場いただきます。画像は以下のサイトから引用させていただきました。Microsoft さん、ありがとー(^^)/

Windows Azure 公認キャラクター利用ガイドライン


理想形

まず理想形。View はグラマーでセクシー。ViewModel はスマートでコンパクト。Model は「View・ViewModel 以外の要素」なので必然的にサイズが大きくなります。つっても単一のクラスが肥大化するとかそんなんじゃないですよ。誤解なきように!


© 2011 Microsoft Corporation All Rights Reserved.


よくない例

逆によろしくない例。ViewModel が肥大化するとこうなる。開発者が View や Model にあるべき機能を ViewModel に詰め込み過ぎたりと、必要以上に揉んだり捏ねたりしまくってると、むくむく太ってきちゃいます。


© 2011 Microsoft Corporation All Rights Reserved.


非常によくない例

ViewModel が肥大化し過ぎるとこうなるの図。開発者が殺されます。


© 2011 Microsoft Corporation All Rights Reserved.



私も最近まで ViewModel は肥大化せざるを得ないと考えてました。危うく殺されるところであったw