[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2ch.scのread.cgiへ]
Update time : 08/19 22:35 / Filesize : 185 KB / Number-of Response : 857
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

MVVMについて語ろう



1 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 11:03:33.21 .net]
WPF/Silverlight/WinRT開発の必須技術、MVVMについて語ろうではないか!

52 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 11:07:44.33 .net]
>>51
ああ、ごめん。IDが出ないから流れがわかりにくいなこのスレ
>>49>>47への反論です
>>50も俺だけど>>51と全く同意


53 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 11:16:28.31 .net]
>>46
そもそもVMはV層でしっかりVとMの分離になってるんじゃないか
Mの設計がVMなしにそのまま使える物であればVMの省略もしばしばみられるし

54 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 11:18:42.66 .net]
やっぱり、VVM内に閉じた話だけを扱うスレなのか?、MVVMを使用したアプリケーションの構造まで扱うのがOKなスレなのか?、っていう最初に戻るじゃん。
VMとMの繋ぎは考えるなら、サービスロケータあたりの話からがグレーゾーンになってくると思うけど。

55 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 11:26:13.73 .net]
定義論に発展しない限りどうでもいいと言ったら定義論がヒートアップしてたでござる
定義知りたきゃMVVMでぐぐってろ

56 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 11:27:07.00 .net]
そもそもMVVMってなに?


57 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 11:27:49.63 .net]
>>56
>>2

58 名前:wikiから抜粋 mailto:sage [2012/06/07(木) 11:33:08.35 .net]
Model
アプリケーションのドメイン(問題領域)を担う、そのアプリケーションが扱う領域のデータと手続き(ビジネスロジック - ショッピングの合計額や送料を計算するなど)を表現する要素である。
多くのアプリケーションではデータの格納に永続的な記憶の仕組み(データベースなど)が使われていたり、
サーバが別途存在するアプリケーションではサーバ側との通信ロジックなどが含まれている。
MVVMの概念ではMVCの概念と同様に、データの(UI以外の)入出力は取り扱わないので、強いて言うならばそれらはModelの中に隠蔽されると考えられる
一般的にModelはドメインを担当すると言われるがこの言葉だけをもってModelの役割を想像するのは難しい。
たとえばクライアントサーバモデルのアプリケーションのクライアントアプリケーション側は、そのドメインそのものがプレゼンテーションになっている。
アプリケーションをプレゼンテーションとドメインに分けて考えようとした際にはこの事が混乱の一因となっている。
Modelの役割は、後述するViewとViewModelの役割以外の部分と考えるのが妥当である。


59 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 11:34:10.24 .net]
MVVMの定義自体は、みんなさほど異なる認識を持っているとは思わんが。
それをわかった上で、アプリケーション固有の話が出てくるのをわかった上でアプリケーション構造の話をするか、しないかについて話てるだけじゃね?

60 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 11:36:30.09 .net]
>>58
それってU氏の記述だろ?



61 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 11:40:56.25 .net]
わかりにくいからMVVMをガンダムでたとえて

62 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 11:47:53.91 .net]
>>54
そこまで細分化しても意味ないと思うから、自分はぜんぶ含めていいと思うの(´・ω・`)

63 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 11:49:55.46 .net]
>>61
M=ララァ
VM=サイコミュ
V=ビット

64 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 11:58:29.11 .net]
>>63
なんとなくこれ思い出した
d.hatena.ne.jp/hilapon/20120426/1335411488

65 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 12:54:35.30 .net]
スレのあり方を議論するだけで終わりそうだw

66 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 13:03:38.18 .net]
おまえが勝手に思ってるだけだろ

67 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 13:17:43.48 .net]
質問です。
ButtonクリックしてViewModelからWindowクローズしたいんだけど、ViewModel側にはどう書いたらいいのでしょうか?

68 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 13:21:47.51 .net]
ウィンドウを閉じる動作はViewで完結しているものなんじゃないでしょうか

69 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 13:57:19.39 .net]
ウィンドウサイズ保存したい

70 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 13:57:28.88 .net]
>68
そうなんですか?わかりました...(´・ω・`)



71 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 14:36:34.99 .net]
>>69
コードビハインドで実装すればいいよ

72 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 14:36:56.58 .net]
>>68
未保存のデータがあるときだけ確認メッセージを表示とか、Viewだけじゃ完結しないだろ。

73 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 16:02:42.75 .net]
LivetのMessengerクラス使えば、ViewModelからWindow閉じたり最大化・最小化を操作できる
d.hatena.ne.jp/hilapon/20111108/1320728308

74 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 16:10:07.46 .net]
よし分かった、俺がこれがコードビハインドだって
お手本のプログラムを作って見せてやるよ。

75 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 16:21:57.25 .net]
>>73
他のMVVMツールにも同様の機能はありますか?

76 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 17:01:49.59 .net]
>>75
その部分だけパチってくればいいじゃん。

77 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 19:40:33.37 .net]
ugaya40さん、MVVMの本書いてよ。

78 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 20:19:01.71 .net]
彼は文書よりもLivetのチュートリアルの優先度をあげるべきだろ。

79 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 20:39:57.25 .net]
チュートリアルないと使えないか?
サンプルなら探せばそれなりにあると思うけど

80 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 20:47:05.63 .net]
使える使えないという話ではなく、広くアピールしたいならそういう地味な作業の優先度の方が高いんじゃないの、という話。



81 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 20:47:06.97 .net]
ugaya40さんって誰?と思ってこれを読んだけど
ugaya40.net/wpf/mvvm-mvc-mvp-pm-eventdriven.html

MVPとPresentation Modelの認識がおかしいな
まぁ全体として意味は通じるけど…

82 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 20:52:17.02 .net]
ところで、これってMVCとどう違うの?
MVCのときとMとVも当然違うと思うんだけど。

83 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 20:52:18.22 .net]
u氏の言っていることは、VVMや実装の話についてはほぼ同意だしすごいとも思っているけど。

ただ、そこからMよりの話やもっと大きな構造の話になってくると、言っていることが微妙というか、
言おうとしていることはわかるけど、他の人の同意は得られないだろうな、っと思うことが多いかな。

84 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 21:28:22.45 .net]
Livet使ってるけど2chの名無しに返信しないで欲しい、とだけ言っておきたい

85 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 22:11:46.33 .net]
Livetネタは荒れるからやめろ。
本人に直接聞け。

86 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 22:23:47.65 .net]
>>77
そんなニッチ層向けの本書いても売れないだろ

87 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 22:59:32.63 .net]
MVVMってどれがええの?
Livetがオススメ?

88 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 23:01:51.98 .net]
mvvmlight

89 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 00:29:17.99 .net]
それはプログラミングにどの言語がいいのかと聞くようなもので
PrismもLivetもMVVMLightもどれも一長一短だからな
人に聞けばたぶんバラバラに返ってくるだろうから
一度使ってみて使いやすいのを判断したほうが早い

90 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 01:33:55.43 .net]
>>81
どの辺が認識おかしいの?



91 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 08:13:09.32 .net]
>>89
そういうんでは、その一長一短を聞きたいんだろ。
ぜんぶ試すってのはなかなか難しい。


92 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 10:23:56.69 .net]
>>86
いや、結構売れるかも知れんぞ。

93 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 11:41:06.72 .net]
VMへのサービス層のDIってどうやるべきものなの?
それ以前に、VMとMを繋ぐ方法として、VMにサービス層をインジェクションする、っていう考え方はあってる?


94 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 11:59:23.74 .net]
>>93
時と場合によるんだろうけど、そうするとMでやるべきのがぜんぶVMに来ない?

95 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 12:38:59.57 .net]
>>94

自分が想定したのは以下の様なサービスファサードがあったとして。

interface HogeServeiceFacade
{
IE<Foo> GetFooList();
}

HogeServeiceFacadeの実装の中では、外部サービスにアクセスしたり、ドメインモデルによる処理をしたり。
HogeServeiceFacade自体はバッチやWebでも使うものだとして。

ここがファサードになるので、それ以上Mの処理がVMに来ることは無いと思っているんだけど。

っで、このHogeServeiceFacadeとVMを接続する方法にコンテナ/サービスロケータを使う場合に
どうするのかとか?、それって考え方としてそもそもあっているの?、っていうのを聞きたかった。


96 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 12:44:10.40 .net]
>>95
そういうんではありなんじゃない?
そもそもMVVMは大本はViewとMの分離があって、それにさらに薄いVMいれると更にセパレーションで来て良いよねって話だから。
で、ロケータ使う場合色々あるけど既存の使うか自前で作るかじゃない。
薄いやつなら実質ただのKeyValueで出来るだろうし、それで結構まかなえると思われ。Prismとかはその辺も実装されてる。DIがより良くインテグレートされてる。他は知らん。

97 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 13:03:47.05 .net]
コンバータ(IValueConverterを実装したクラス)はMVVMのどの層に属するものなの?

98 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 13:07:30.90 .net]
>>97
View

99 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 13:20:41.29 .net]
コンバータ自体簡易VMみたいなもんじゃね?

100 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 13:32:59.19 .net]
>>97
それを分類することに何か意味があるの?



101 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 13:47:18.95 .net]
コンバータ、StringFormat、VMでの詰め替え等が混在していると保守性が悪くな

102 名前:閧サうだ []
[ここ壊れてます]

103 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 13:55:44.00 .net]
VMでなんでも出来はするるが、責務としてVMでやるのはデータ構造の変換までにして、色だの文字だのの修飾はコンバーターでやるべきだろう。

104 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 13:57:35.24 .net]
自分はコンバータも形式の変換で、修飾なりなんなりはViewにやらせるな

105 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 14:47:38.34 .net]
おまえらユニットテストには何使ってるの

106 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 14:53:47.65 .net]
>>96
Thx

考え方としてはありか。

Prismにはその辺の仕組みもあるのね。
じゃあ、各フレームワークでそういう機構を持っているものについて、該当クラス名とかを知っている人がいたら教えて下さい(*・ω・)*_ _)ペコリ

後は自分で調べるので。

107 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 15:13:12.05 .net]
>>104
NUnit

108 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 15:14:23.05 .net]
MVCとかMVPとかのパターンを判りやすく解説してる本あったら教えて

109 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 15:24:26.98 .net]
>>104
俺もNUnit。


110 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 15:27:32.55 .net]
上のご神託を読んでこい。



111 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 15:36:30.90 .net]
>>109
いや、MVVMの前提となるMVCやMVPについて知りたいんだが
やっぱファウラー先生あたりの本になるのかな?

112 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 15:57:52.51 .net]
偉い先生が書いたものとか読んだことないわー
MVCとかなにかのパターン本に乗ってたけどネットで探れるのと大差ない。
MSDNでMVPVMの説明してるやつでMVC,MVP説明してるのあったお


113 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 16:02:11.72 .net]
MVCではクライアントはC(イベントハンドラ、リスナー、コールバック)に
アクセスしてVがレスポンスとして帰ってくるのに対し、
MVVMはクライアントがVにアクセスしてVが帰ってくる感じだな。

HTMLならステートレスなMVCが、Viewがクライアント内にある
ステートフルなappletとかsilverlight、デスクトップGUIならMVVMが良さそうだ。


114 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 16:12:29.99 .net]
MVCについて知りたいならSmalltalkを調べろ。
WebのMVC(2)ならむしろRESTってキーワードで調べろ。
MVVM自体に関する本は知らん。
そしてそれとは関係無しに、PoEAAなんかも読んでおくべき。
PoEAAだけ読んで、ドメインモデルvsトランザクションスクリプト厨になったりする奴も多いけどな。

115 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 16:18:06.91 .net]
そろそろ電子書籍で売ってくれ

116 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 17:40:37.50 .net]
>>113
MVCってSmalltalkコミュニティから提唱されたのか

117 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 18:47:52.68 .net]
たしか。
オブジェクト指向の元祖たるSmalktalkで発展したものだと効いた希ガス

118 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 19:10:59.99 .net]
良スレの予感。

119 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 20:31:39.36 .net]
やっぱりVMのライフサイクル管理やVMへのインジェクションを行うサービスロケータはあっても良いよな。
アプリケーションの構造によっては別にいらないだろうけど。

120 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 10:42:20.11 .net]
複数ViewModel間の呼び出しってどうすべき?



121 名前:デフォルトの名無しさん [2012/06/09(土) 11:28:54.73 .net]
public string Name
{
  get { return Model.Name; }
  set { Model.Name = value; }
}

こういう感じで VM で M のプロパティを V に伝えるためだけの
プロパティってなんていうの?

122 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 11:41:10.30 .net]
ごめん、knockout.js の話題はここで良い?

123 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 11:45:02.52 .net]
>>120
NotifyPropertyChanged使わないなら直接Modelのプロパティにバインドしてよくね

124 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 14:57:44.75 .net]
>>122
難読化でいちばん隠したい部分がまる見えになるからオススメできない
プロパティ多すぎて書きたくねぇ!ってならT4

125 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 16:03:19.03 .net]
難読化か。難読化なら確かにラッピングは必要かもしれんが
internalなViewModelじゃだめなん?

126 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 22:58:26.63 .net]
ラムダ式からプロパティ名を取り出す方法なら難読化できるよ

127 名前:125 mailto:sage [2012/06/09(土) 23:02:50.05 .net]
ああXAMLには影響が出るから無理か
インターフェイスが曝されるだけなら別によくない?
VMでラップしまくるのも大差ないと思うが

128 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 02:20:40.65 .net]
まあ全部ラッピングしたらしたでやっぱり中身の名前はそのまま出てくるわけだしな
それなら直接Model繋げた方がいい

129 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 19:31:10.74 .net]
ふむ。
ttp://www.mnow.jp/LinkClick.aspx?fileticket=U%2b2U8DNLxfs%3d&tabid=220&mid=867

確かにナビゲーションなんかは、MessengerやBehaivorで解決できはするんだけど、
VVMの責務としてどうなのかとか、MVVMというよりもBlend至上主義になりすぎているのではと思うことはあって。

何かしら別の層があっても良いと感じてはいたが。
それをPと呼ぶかどうかはともかく。

130 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 19:42:58.13 .net]
世の中にはコードビハインドというものがあってだな



131 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 20:08:46.96 .net]
コードで書くかと、コードをどこに書くかは全然違う話であってだな

132 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 20:22:58.07 .net]
ところでVS2012のデザイナはBlendベースで刷新されて前と比べ物にならないくらい良くなってるぞ
アニメーションやテンプレートやリソースの編集にはBlendがまだ必要だけど
MVVMのV作るときにはそろそろBlendいらないと思う

133 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 07:53:21.15 .net]
>>121 のやつ
en.m.wikipedia.org/wiki/KnockoutJS
knockoutjs.com/

SilverlightとKnockoutJSの比較
www.codeproject.com/Articles/365120/KnockoutJS-vs-Silverlight

134 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 09:04:31.43 .net]
コマンドもバインディングできて、シンプルなテンプレートも付いてるのはいいな。
なかなか使いやすそうな感じだね。これは確かにMVVMだ。

質問とかだったらWeb制作板のライブラリ質問スレが適当かな。

135 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 09:12:27.73 .net]
WebはWebでもJSはクライアント側でUIを扱うからMVVMなんだな

136 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 01:28:10.49 .net]
VS2012になると ビュー モデルは Portable Library でサポートされるそうだ、VM と M は可能な限り Portable Library に押し込んでマルチプラットフォーム化を目指せるのか。

137 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 02:06:46.27 .net]
VMが厚くなるな

138 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 02:23:38.61 .net]
MetroとWPFでVM使い回しはきついだろ
ギャップが大きすぎるから、大量のコードビハインドでVMを相当抽象化することになるか
互換性のためにどっちつかずでプラットフォームの空気を読まない不自然なUIになりそう

139 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 07:04:36.86 .net]
Portable Libraryは別に良いんだけど、別にVMのマルチプラットフォーム対応を目指す必要は無いと思うんだよね。
使用するビューのテクノロジーやデバイスが異なればVMに求められる構造だって変わってくるし。

WebのMVCでPCサイトとモバイルサイトで同じControllerを使う、程度には面倒で制約が多い気がする。

むしろマルチプラットフォーム化できるんならしたいのはMじゃね?

140 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 12:49:34.16 .net]
Livet で、Winodws.Loaded 時にコマンド発行させたいんだが、どうすればいいの?
WindowAction みたいなので、コマンドを発行するだけの Action があればいいだんけど、
見つからなかった。
自分で作るしかない?



141 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 13:12:31.77 .net]
>>139
i:EventTrigger
i:InvokeCommandAction

142 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 16:51:30.23 .net]
Portable Library に Model を押し込む努力はするべきだ。
Portable Library に押し込むには ViewModel は View にプロパティを提供するだけにせざる負えない。
と書いてどっかで聞いたなと思ったら。 MVPVMパターンあった。

Portable Library に ViewModel と Model を押し込んで View と Presennter をプラットフォーム依存にするのか。

143 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 17:21:46.72 .net]
で、そのPresenterってコードビハインドじゃん、ってなった

144 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 18:36:18.33 .net]
状況によってはPresenter設けてもいいと思う
Viewのサイズや表示位置、グリッドのソート順や列の表示・非表示等を構成ファイルに保存/読み込みさせるのに独立したPresenter設けても可

145 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 20:43:19.56 .net]
Presenterの役割定義が昔に比べて広いものを指すようになってきている気がするのは俺だけ?

IHogeViewを実装しているビューなら、それがWPFだろうがWindows FormsだろうがConsoleアプリだろうが、
HogePresenterから操作できる、みたいなのがMVPのイメージだったんだけど、
コードを書く = Presenterな使われ方が増えている気がするんだけど、MVPってそういうものだったの?

ビュー間にまたがるものやアプリケーション横断的な処理の記述箇所については、
Presenterといわずに別の定義をした方が良いんじゃねと思ったんだけど。

146 名前:139 mailto:sage [2012/06/12(火) 22:17:28.41 .net]
>>140
ありがとう。
Livet 関係なくできたのか、
ぐぐっても出ないわけだ・・・。

147 名前:デフォルトの名無しさん mailto:sage [2012/06/13(水) 02:37:56.25 .net]
>>142
V->VMが密結合にならないのがコードビハインドとは違うところ
実際やるかどうかは別にしてVMの差し替えが可能

148 名前:デフォルトの名無しさん mailto:sage [2012/06/13(水) 10:57:45.00 .net]
NVPVMはあくまでMVVMの派生パターン
特殊なコンポーネント使っててViewの負荷が異常に高い場合、有効なパターンだよ

149 名前:デフォルトの名無しさん mailto:sage [2012/06/13(水) 12:44:02.37 .net]
じゃぁViewにプロパティを提供する入力検証の一部をする以外の、
VMでやっていることを考えてみよう。

非常にめんどくさいコーディングスタイルのコントローラじゃないのか?

150 名前:デフォルトの名無しさん mailto:sage [2012/06/13(水) 13:12:22.81 .net]
それでいいんだろ
一つのViewを異なる使い方で使いまわすときに
VMごと入れ替えるのは無駄が多いからっていうのが元々のアイデアだと思う



151 名前:デフォルトの名無しさん mailto:sage [2012/06/13(水) 13:19:04.84 .net]
>>149
> 一つのViewを異なる使い方で使いまわすときに
> VMごと入れ替えるのは無駄が多いからっていうのが元々のアイデアだと思う

え?

一つのViewModelを異なるアーキテクチャで使いまわすときに
Viewごと入れ替えるのは無駄が多いから

の間違いじゃね?

152 名前:デフォルトの名無しさん mailto:sage [2012/06/13(水) 13:21:02.28 .net]
MVPVMのサンプルも、VM−Mのコンビは汎用性持たせ、Pで差分吸収するサンプルに思えたが






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<185KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef