編集可能

MVVMってどこからどこまで ⇒ WPF / Silverlightの浸透のカギは?

先輩と話してて、いろいろ気づくことがあったので。
Silverlight mvvm WPF
19
Hiroyuki Mori @hiroyuki_mori
早朝の告白。最近私の中でMVVMが気持ち悪くてしょうがない。ぬー。
Hiroyuki Mori @hiroyuki_mori
正直、明確にMVVMはこれだ!っていう決めてがなくて、極端な話、人によってすらその範疇が変わったり、Silverlight/WPFそしてBlendを使うか使わないかでも変わったり・・・。実はすげー抽象的な概念だなぁと思うなぁ。
Akira Hatsune @hatsune_
@hiroyuki_mori MVVMだなんてこだわる必要があるかどうか分からない。結果的にMVVMっぽいつくりになったところで最後の仕上げというかリファクタリングでMVVMからはみ出した部分を収めるかどうか検討するだけでいいじゃないかと思ってみたり。
尾上 雅則 @ugaya40
WPF/SLに合わせてプレゼンとドメイン分けようとすると自然にこうなります。それにMVVMって名前が付いているだけ http://twitter.com/ugaya40/status/51301980508913665
Hiroyuki Mori @hiroyuki_mori
@ugaya40 んー。ただね。これも実は明確ではない気がするんですよー。 たとえば、@ugaya40さんがおっしゃってる「標準でサポートされている」ってあるでしょ?これって、要はバージョンによって変化するってことですよね?
尾上 雅則 @ugaya40
だってコントロールに状態を持たせられないのがWPF/SL。ViewModelは自然と生まれます。
尾上 雅則 @ugaya40
@hiroyuki_mori そうです、そうです。バージョンによって変わると思います。実装中立なパターンじゃないですし。
Hiroyuki Mori @hiroyuki_mori
@ugaya40 つまり、明確に決まっていないってことですよね?
尾上 雅則 @ugaya40
@hiroyuki_mori UIパターンは全て実装プラットフォーム依存ですし、これが明確に決まっていないと言うならMVCだって明確に決まっていないです。
Hiroyuki Mori @hiroyuki_mori
@ugaya40 それってパターンって呼ぶにはすごく抽象的だと思いませんか?
尾上 雅則 @ugaya40
@hiroyuki_mori 実際MVCだって実装プラットフォームごとに全然違いますし。
Hiroyuki Mori @hiroyuki_mori
@ugaya40 なるほど。MVCも確かに抽象的ですねー
Hiroyuki Mori @hiroyuki_mori
@ugaya40 ただ、MVCとの違いとしてはMVVMは抽象的な中でもWPF/Silverlightに特化しているってことですね
尾上 雅則 @ugaya40
でも確かに実装プラットフォームごとのUIパターンの名称が同一なのは混乱の原因ですよね。MVCで死ぬほど言われているだろうけど。
尾上 雅則 @ugaya40
@hiroyuki_mori MVCと同じ目標に至るパターンを、WPF/SLに適応したらMVVMになったという認識です
Hiroyuki Mori @hiroyuki_mori
@ugaya40 ただね、私が気持ち悪いなぁと思うのは、抽象的なのか具体的なのか、ここがなんとなく曖昧な気がするんですよ。
Hiroyuki Mori @hiroyuki_mori
@ugaya40 さっき話したように標準でサポートっていう部分に関してはプラットフォームに依存したりということで形状が変わってしまったりする部分があるじゃないですか?
尾上 雅則 @ugaya40
@hiroyuki_mori ASP.NETのパイプラインを活かしてMVCしようとした時に、ASP.NET MVCというインフラ無しじゃ同じことになると思います。具体的なのか抽象的な解らない感じで。ASP.NET MVCにあたるMVVMインフラが必須ですよね。MVVMやりたきゃ。
Hiroyuki Mori @hiroyuki_mori
@ugaya40 本当に単に抽象的にレイヤーをM-V-VMでわけるだけというのであれば、わかるんですが、バージョンによって具体的な機能まで突き詰めないと・・・という側面もあったり。
Hiroyuki Mori @hiroyuki_mori
@ugaya40 もっとぶっちゃけて言うと、そのパターンを利用しようとする人間のスキルレベルに依存してしまう側面があるように思うんですよ
尾上 雅則 @ugaya40
@hiroyuki_mori おっしゃる通りで、現時点での.NET 4であればPrism的なのとか当然無理で。例の英語の本レベルの無いようになるかと。
尾上 雅則 @ugaya40
@hiroyuki_mori はい。現時点ではインフラが足りないのでそういう事になると思います。
Hiroyuki Mori @hiroyuki_mori
@ugaya40 たとえば、MVCしかり、GoFしかり、抽象的なアプローチって基本的には抽象的なパターンがプログラミングのモデルとして定義されているから便利なのであって、M-V-VMはそういうからさらに方法論にまで及んでいるように思うんですよね。
残りを読む(112)

コメント

尾上 雅則 @ugaya40 2011年3月26日
とりあえずまとめたー
くっきー @nk9k 2011年3月27日
UXエンジニアって概念が日本の社会的に評価されるようになるなら僕頑張ります。
Hiroyuki Mori @hiroyuki_mori 2011年3月28日
この一連の議論をあらためて読み返して、MVVMの本当の問題はパターンそのものではなくて、パターンから派生するTipsに対して「名前付け」されていなくて、それらを総称してMVVMパターンと呼んでしまっていることが気持ち悪くしてるんだなとも思った。
尾上 雅則 @ugaya40 2012年3月27日
http://ugaya40.net/mvvm/mvvm_document.html 2012/3/27現在、もう1年前のものでMVVMって何?って方は是非こちらを。
ログインして広告を非表示にする
ログインして広告を非表示にする