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

先輩と話してて、いろいろ気づくことがあったので。
19
Hiroyuki Mori @hiroyuki_mori

早朝の告白。最近私の中でMVVMが気持ち悪くてしょうがない。ぬー。

2011-03-26 05:25:11
Hiroyuki Mori @hiroyuki_mori

正直、明確にMVVMはこれだ!っていう決めてがなくて、極端な話、人によってすらその範疇が変わったり、Silverlight/WPFそしてBlendを使うか使わないかでも変わったり・・・。実はすげー抽象的な概念だなぁと思うなぁ。

2011-03-26 05:27:41
Akira Hatsune @hatsune_

@hiroyuki_mori MVVMだなんてこだわる必要があるかどうか分からない。結果的にMVVMっぽいつくりになったところで最後の仕上げというかリファクタリングでMVVMからはみ出した部分を収めるかどうか検討するだけでいいじゃないかと思ってみたり。

2011-03-26 05:29:32
尾上 雅則 @ugaya40

WPF/SLに合わせてプレゼンとドメイン分けようとすると自然にこうなります。それにMVVMって名前が付いているだけ http://twitter.com/ugaya40/status/51301980508913665

2011-03-26 05:30:12
Hiroyuki Mori @hiroyuki_mori

@ugaya40 んー。ただね。これも実は明確ではない気がするんですよー。 たとえば、@ugaya40さんがおっしゃってる「標準でサポートされている」ってあるでしょ?これって、要はバージョンによって変化するってことですよね?

2011-03-26 05:30:56
尾上 雅則 @ugaya40

だってコントロールに状態を持たせられないのがWPF/SL。ViewModelは自然と生まれます。

2011-03-26 05:31:00
尾上 雅則 @ugaya40

@hiroyuki_mori そうです、そうです。バージョンによって変わると思います。実装中立なパターンじゃないですし。

2011-03-26 05:31:24
Hiroyuki Mori @hiroyuki_mori

@ugaya40 つまり、明確に決まっていないってことですよね?

2011-03-26 05:31:43
尾上 雅則 @ugaya40

@hiroyuki_mori UIパターンは全て実装プラットフォーム依存ですし、これが明確に決まっていないと言うならMVCだって明確に決まっていないです。

2011-03-26 05:32:19
Hiroyuki Mori @hiroyuki_mori

@ugaya40 それってパターンって呼ぶにはすごく抽象的だと思いませんか?

2011-03-26 05:32:26
尾上 雅則 @ugaya40

@hiroyuki_mori 実際MVCだって実装プラットフォームごとに全然違いますし。

2011-03-26 05:32:43
Hiroyuki Mori @hiroyuki_mori

@ugaya40 なるほど。MVCも確かに抽象的ですねー

2011-03-26 05:32:50
Hiroyuki Mori @hiroyuki_mori

@ugaya40 ただ、MVCとの違いとしてはMVVMは抽象的な中でもWPF/Silverlightに特化しているってことですね

2011-03-26 05:33:49
尾上 雅則 @ugaya40

でも確かに実装プラットフォームごとのUIパターンの名称が同一なのは混乱の原因ですよね。MVCで死ぬほど言われているだろうけど。

2011-03-26 05:33:50
尾上 雅則 @ugaya40

@hiroyuki_mori MVCと同じ目標に至るパターンを、WPF/SLに適応したらMVVMになったという認識です

2011-03-26 05:34:38
Hiroyuki Mori @hiroyuki_mori

@ugaya40 ただね、私が気持ち悪いなぁと思うのは、抽象的なのか具体的なのか、ここがなんとなく曖昧な気がするんですよ。

2011-03-26 05:35:19
Hiroyuki Mori @hiroyuki_mori

@ugaya40 さっき話したように標準でサポートっていう部分に関してはプラットフォームに依存したりということで形状が変わってしまったりする部分があるじゃないですか?

2011-03-26 05:36:21
尾上 雅則 @ugaya40

@hiroyuki_mori ASP.NETのパイプラインを活かしてMVCしようとした時に、ASP.NET MVCというインフラ無しじゃ同じことになると思います。具体的なのか抽象的な解らない感じで。ASP.NET MVCにあたるMVVMインフラが必須ですよね。MVVMやりたきゃ。

2011-03-26 05:36:56
Hiroyuki Mori @hiroyuki_mori

@ugaya40 本当に単に抽象的にレイヤーをM-V-VMでわけるだけというのであれば、わかるんですが、バージョンによって具体的な機能まで突き詰めないと・・・という側面もあったり。

2011-03-26 05:37:44
Hiroyuki Mori @hiroyuki_mori

@ugaya40 もっとぶっちゃけて言うと、そのパターンを利用しようとする人間のスキルレベルに依存してしまう側面があるように思うんですよ

2011-03-26 05:38:44
尾上 雅則 @ugaya40

@hiroyuki_mori おっしゃる通りで、現時点での.NET 4であればPrism的なのとか当然無理で。例の英語の本レベルの無いようになるかと。

2011-03-26 05:39:12
尾上 雅則 @ugaya40

@hiroyuki_mori はい。現時点ではインフラが足りないのでそういう事になると思います。

2011-03-26 05:39:45
Hiroyuki Mori @hiroyuki_mori

@ugaya40 たとえば、MVCしかり、GoFしかり、抽象的なアプローチって基本的には抽象的なパターンがプログラミングのモデルとして定義されているから便利なのであって、M-V-VMはそういうからさらに方法論にまで及んでいるように思うんですよね。

2011-03-26 05:40:41
1 ・・ 6 次へ