MVVMについて語ろう
■ このスレッドは過去ログ倉庫に格納されています
2012/06/06(水) 11:03:33.21
WPF/Silverlight/WinRT開発の必須技術、MVVMについて語ろうではないか!
197デフォルトの名無しさん
2012/06/15(金) 14:51:15.90198デフォルトの名無しさん
2012/06/15(金) 14:59:21.72 Forms直に行ってデフォルトインスタンス触られるよりいいのか
199デフォルトの名無しさん
2012/06/15(金) 15:15:25.52 >>194
開発に使う分には問題ないが、言語チームがかなり苦労してそうなのが構文とかからにじみ出てくるぜ・・・
開発に使う分には問題ないが、言語チームがかなり苦労してそうなのが構文とかからにじみ出てくるぜ・・・
200デフォルトの名無しさん
2012/06/16(土) 04:16:43.61 VB(.NETじゃない方)も未だに元気だからなぁ
PHPがじわじわ下がってきてVBと逆転してしまった。
今はまだ一時的な物だけど今後数ヵ月かけて順位が入れ替わりそうだとか何とか。
http://www.tiobe.com/index.php/content/paperinfo/tpci/
PHPがじわじわ下がってきてVBと逆転してしまった。
今はまだ一時的な物だけど今後数ヵ月かけて順位が入れ替わりそうだとか何とか。
http://www.tiobe.com/index.php/content/paperinfo/tpci/
201デフォルトの名無しさん
2012/06/16(土) 12:32:05.90 実はMVVMってしっくりこないんです!
わたしはこれまで、C/C++、Visual Basic、最近になって Java、C# などの言語を使ってきた。
「自分でViewModelを作ってMVVMっぽいことをしている」なんてことはまったくない。
特に「Visual Studioでポトペタ開発ができる」ということ知ってからは、従来のVB6のように開発している。
共有変数も、pubulic staticで宣言する。したがってプロパティなんて作らない。
自称上級者のコードを見ると、いちいちM・V・VMのクラス分けをしているので笑ってしまう。
データベースにアクセスするアプリケーションをを書いているのだが、Visual Studioが供給している
機能を使えばMVVMなど使わなくてもできてしまうのだから。
わたしはこれまで、C/C++、Visual Basic、最近になって Java、C# などの言語を使ってきた。
「自分でViewModelを作ってMVVMっぽいことをしている」なんてことはまったくない。
特に「Visual Studioでポトペタ開発ができる」ということ知ってからは、従来のVB6のように開発している。
共有変数も、pubulic staticで宣言する。したがってプロパティなんて作らない。
自称上級者のコードを見ると、いちいちM・V・VMのクラス分けをしているので笑ってしまう。
データベースにアクセスするアプリケーションをを書いているのだが、Visual Studioが供給している
機能を使えばMVVMなど使わなくてもできてしまうのだから。
202デフォルトの名無しさん
2012/06/16(土) 12:40:31.71 なにおじさん?
203デフォルトの名無しさん
2012/06/16(土) 13:20:33.52 何のコピペだっけそれ
204デフォルトの名無しさん
2012/06/16(土) 14:14:46.22 懐かしいなw
205デフォルトの名無しさん
2012/06/16(土) 17:03:22.48 オブジェクト指向か
206デフォルトの名無しさん
2012/06/16(土) 17:52:59.93 VMのコストが高いのは事実
207デフォルトの名無しさん
2012/06/16(土) 23:27:28.75 Livet で Drag and Drop やりたいんだけど、どこかにサンプルないですか?
208デフォルトの名無しさん
2012/06/17(日) 11:27:52.39 時間の無駄だと思わないの?
お前がMVVM教の修験者か何かでないならコードビハインドを使え
お前がMVVM教の修験者か何かでないならコードビハインドを使え
209デフォルトの名無しさん
2012/06/17(日) 14:45:06.19 Dropイベントを処理したいだけなら>>139-140
210デフォルトの名無しさん
2012/06/17(日) 16:08:05.74 イベントだけ拾っても仕方ないでしょ
素直にコードビハインドを書くか、
Dropイベントを受け取って引数にデータ入れてバインドしたVMのコマンドを呼ぶ
ビヘイビアを作りましょう
素直にコードビハインドを書くか、
Dropイベントを受け取って引数にデータ入れてバインドしたVMのコマンドを呼ぶ
ビヘイビアを作りましょう
211デフォルトの名無しさん
2012/06/21(木) 18:57:52.75 MVVMって誰が提唱しだしたの?
212デフォルトの名無しさん
2012/06/21(木) 19:34:30.00 MSの中の人
213デフォルトの名無しさん
2012/06/21(木) 19:36:38.56 ビヘイビアに書くと再利用性が上がるってだけで中身はコードビハインドと大して変わらんしな
まあD&Dはどっちにしても面倒だが
まあD&Dはどっちにしても面倒だが
214デフォルトの名無しさん
2012/06/21(木) 22:54:05.30 コードビハインド書くと、VからVMアクセスするでしょ?
それがかっこ悪いのよね〜
それがかっこ悪いのよね〜
215デフォルトの名無しさん
2012/06/22(金) 23:26:34.40 VからVMにアクセスするのはコマンドも一緒だと思うが…
216デフォルトの名無しさん
2012/06/23(土) 07:54:12.87 つーかほぼすべてVからVMへのアクセスだろが。
217デフォルトの名無しさん
2012/06/23(土) 09:25:51.09 VMはVを知らないがVはVMを知っている
218デフォルトの名無しさん
2012/06/23(土) 11:10:17.65 こんにちは!VMさん。
あなたは、Vさんにフォローされてます。
Vさんをフォローしますか?
する
→しない
あなたは、Vさんにフォローされてます。
Vさんをフォローしますか?
する
→しない
219デフォルトの名無しさん
2012/06/23(土) 11:29:14.41 MVCのCとMVVMのVMって何が違うの?
データを扱うMと画面を扱うVがいて、それらを制御するCでしょ?
VMもCもいっしょじゃん。
データを扱うMと画面を扱うVがいて、それらを制御するCでしょ?
VMもCもいっしょじゃん。
220デフォルトの名無しさん
2012/06/23(土) 15:06:23.66221デフォルトの名無しさん
2012/06/23(土) 15:13:22.96 >>220
それが理解できていれば聞かずに済んでいるんだ、無能ですまん。
それが理解できていれば聞かずに済んでいるんだ、無能ですまん。
222デフォルトの名無しさん
2012/06/23(土) 15:30:26.15 VMってのは、Vから扱いやすいインターフェイスを備えたMのラッパーだよ
Vを制御したりなんかしない
Vを制御したりなんかしない
223デフォルトの名無しさん
2012/06/23(土) 15:57:05.63 Vを制御するのは誰?
簡単な話、Viewにある文字をModelでなんかした結果で変えたいみたいな。
簡単な話、Viewにある文字をModelでなんかした結果で変えたいみたいな。
224デフォルトの名無しさん
2012/06/23(土) 16:02:41.88 V自身がバインディングで変える
225デフォルトの名無しさん
2012/06/23(土) 19:19:17.03 MVCだとVは入力を扱わない
226デフォルトの名無しさん
2012/06/24(日) 17:03:07.28 Mの状態でフォーカス位置を変えたりするのがめんどい
227デフォルトの名無しさん
2012/06/24(日) 17:04:30.15 SとMの関係を一言で言うと?
228デフォルトの名無しさん
2012/06/24(日) 18:36:15.75 rot(M, -π) = S
229デフォルトの名無しさん
2012/06/24(日) 21:45:32.65 Vを制御するのはVMだろ
Vの状態を持つためのMなんだから
Vの状態を持つためのMなんだから
230デフォルトの名無しさん
2012/06/25(月) 14:05:28.44 VMがVを制御しないんならVを制御する別のオブジェクトが必要だな
そうだなープレゼンターとかいう名前にするといいんじゃね?
そうだなープレゼンターとかいう名前にするといいんじゃね?
231デフォルトの名無しさん
2012/06/25(月) 15:04:10.95 「MVVMパターンで学ぶGUIアーキテクチャパターン」? .NETラボ勉強会で話してきました!
http://ugaya40.net/architecture/mvvm_to_mvc.html
http://ugaya40.net/architecture/mvvm_to_mvc.html
232デフォルトの名無しさん
2012/06/25(月) 18:19:46.52 Mのプロパティをラップすることがあるのは、MVVM関係なく、隣人とだけ話せっていうOOPの作法だよな
MVVM的には別にどっちでもよくて、やっぱりVMの本質はVの状態を持つことだよ
MVVM的には別にどっちでもよくて、やっぱりVMの本質はVの状態を持つことだよ
233デフォルトの名無しさん
2012/06/25(月) 22:39:40.76 従来のウェブアプリ(Ajaxアプリ除く)、
ウェブフレームワークといったらいいかな?
で、MVVMを使うメリットある?
ウェブフレームワークといったらいいかな?
で、MVVMを使うメリットある?
234デフォルトの名無しさん
2012/06/25(月) 22:50:54.35 JSのか?
235デフォルトの名無しさん
2012/06/25(月) 22:54:54.79 JS関係なくて、普通のフォーム使った
ウェブアプリ。
ウェブアプリ。
236デフォルトの名無しさん
2012/06/26(火) 00:01:38.39 数ある既存の素晴らしいMVC系フレームワーク(あくまでWebでいうMVCね)
に乗せられるというメリットを捨ててまで使うほどのメリットは無いと思う
に乗せられるというメリットを捨ててまで使うほどのメリットは無いと思う
237デフォルトの名無しさん
2012/06/26(火) 00:15:01.78 ASP.NET MVCにはViewModelと呼ばれるものがあるけど
ステートレスでただVと1対1なだけのデータの入れ物だからMVVMとは別物だと思う
ステートレスでただVと1対1なだけのデータの入れ物だからMVVMとは別物だと思う
238デフォルトの名無しさん
2012/06/26(火) 00:17:39.51 MVVMはVが入力を扱う場合において威力を発揮する
WebのサーバサイドだとVは入力を扱わないし、MVCはVではなくCが入力を扱う
WebのサーバサイドだとVは入力を扱わないし、MVCはVではなくCが入力を扱う
239デフォルトの名無しさん
2012/06/26(火) 00:20:17.19 あと選択状態とかだろ
ステートレスなVMはただのMだ
ステートレスなVMはただのMだ
240デフォルトの名無しさん
2012/06/26(火) 00:41:58.72 そもそもウェブアプリってMVCじゃないだろ?
データとってきてテンプレートに入れるだけじゃん。
データとってきてテンプレートに入れるだけじゃん。
241デフォルトの名無しさん
2012/06/26(火) 19:38:03.37 何を突然スレ違いなことを
242デフォルトの名無しさん
2012/06/26(火) 20:46:48.60243デフォルトの名無しさん
2012/06/26(火) 20:53:00.50 ここはMVCのスレではないし、クライアントとWebのMVCが同一だと言ってる奴も居ないけど
244デフォルトの名無しさん
2012/06/26(火) 20:57:02.48 このスレの1/10には
MVCという単語が含まれているが?
MVCのスレじゃなくても
MVCと比較するのだからなんの問題もないだろ。
MVCという単語が含まれているが?
MVCのスレじゃなくても
MVCと比較するのだからなんの問題もないだろ。
245デフォルトの名無しさん
2012/06/28(木) 18:23:25.38 コミュ障って生きていくの大変そうだな。
246デフォルトの名無しさん
2012/06/29(金) 00:08:52.57 そうだな。そういうことにしておけば?
247デフォルトの名無しさん
2012/06/29(金) 14:32:07.81 そこはもちょっと親身に相談に乗ってあげなきゃ
245が自殺でもしたら大変だろ
245が自殺でもしたら大変だろ
248デフォルトの名無しさん
2012/06/29(金) 15:32:22.10 ちょっと死にたい
249デフォルトの名無しさん
2012/06/29(金) 16:26:05.86 コードビハインドさえ書かなければ死なない
250デフォルトの名無しさん
2012/06/29(金) 17:17:54.12 いや、別に責務さえはっきりしていれば、別にコードビハインド書いてもいいんだよ。
MVVM≠コードビハインドはよくある誤解なので、ご注意を。
MVVM≠コードビハインドはよくある誤解なので、ご注意を。
251デフォルトの名無しさん
2012/06/29(金) 20:05:40.23 >>250が≠の意味を誤解しているのは分かった
252デフォルトの名無しさん
2012/07/01(日) 09:58:01.85 LivetってPrismにあるようなナビゲーションスタイルのアプリケーションには対応してないよね
アホみたいに時間かかってる割には全体的に…
アホみたいに時間かかってる割には全体的に…
253デフォルトの名無しさん
2012/07/01(日) 10:29:40.96 お前は何を言っているんだ
254デフォルトの名無しさん
2012/07/01(日) 10:44:49.81255デフォルトの名無しさん
2012/07/02(月) 02:00:05.07 個人製作のフレームワークがごく限られたケースにしか対応してないのはよくあること
配慮してくれないと
配慮してくれないと
256デフォルトの名無しさん
2012/07/02(月) 17:16:37.30 ContentControlでも使ってろ
257デフォルトの名無しさん
2012/07/04(水) 01:06:26.25 Livetの中の人、ついったーがキモい・・・
258デフォルトの名無しさん
2012/07/04(水) 01:21:34.90259デフォルトの名無しさん
2012/07/04(水) 10:36:51.30 >>153みたいなことしちゃうアレな人だからな
260デフォルトの名無しさん
2012/07/04(水) 15:31:22.65 いやなら反論してみればいいんじゃね
261デフォルトの名無しさん
2012/07/04(水) 15:43:14.21 例の人は目先の細かい実装に囚われすぎなんだよ
>>154で説明されているような
・VMをビジネスロジックに依存させないことによるVMの再利用性の向上
・VをVMに依存させない(つまりVMを直接触るようなコードビハインドを書かない)ことによるVの再利用性の向上
・Pは差し替え可能
・DIとの相性
と言ったことに全く触れられていない
>>154で説明されているような
・VMをビジネスロジックに依存させないことによるVMの再利用性の向上
・VをVMに依存させない(つまりVMを直接触るようなコードビハインドを書かない)ことによるVの再利用性の向上
・Pは差し替え可能
・DIとの相性
と言ったことに全く触れられていない
262デフォルトの名無しさん
2012/07/04(水) 15:56:30.88 直接言って来いよ
ここでやんな
ここでやんな
263デフォルトの名無しさん
2012/07/04(水) 18:25:12.71 技術的な話はここでいいだろ。
性格批判は向こうでどうぞ。
性格批判は向こうでどうぞ。
264デフォルトの名無しさん
2012/07/04(水) 18:36:48.98 そうそう、そのためのスレなんだから
MVPVMのサンプル見ると、三つのプラットホームでVMを共通化してる
VとVMの疎結合のためにPを設けてるわけだが、
現実的に考えると、VMの共通化を図る要件って実際あり得るのだろうか?
MVPVMのサンプル見ると、三つのプラットホームでVMを共通化してる
VとVMの疎結合のためにPを設けてるわけだが、
現実的に考えると、VMの共通化を図る要件って実際あり得るのだろうか?
265デフォルトの名無しさん
2012/07/04(水) 18:44:57.68 >>154のリンク先の例にあるような、同じV-VMペアを別の用途で使いまわすっていうのは
割とあるんじゃないかと思う
割とあるんじゃないかと思う
266デフォルトの名無しさん
2012/07/04(水) 19:12:57.94 VMの共通化は無い派。
デバイスが変われば見た目も変えたくなるし、全てのデバイスで使えるスーパーセットのVMもどうかと思う。
Mが可能な限り共有できればそれでよいと思う。
デバイスが変われば見た目も変えたくなるし、全てのデバイスで使えるスーパーセットのVMもどうかと思う。
Mが可能な限り共有できればそれでよいと思う。
267デフォルトの名無しさん
2012/07/04(水) 19:25:18.53 要件によるけど、スーパーセットのVM使えるところも多々あるんじゃない?
使えないところだけVMを個別作るとかが望ましいなぁ
使えないところだけVMを個別作るとかが望ましいなぁ
268デフォルトの名無しさん
2012/07/04(水) 19:42:38.71 最近客に「文字大きくしてくれ」って言われてVだけコピペしたよ
269デフォルトの名無しさん
2012/07/04(水) 22:00:23.71 ねぇ。これがどうウェブアプリに使えるの?
270デフォルトの名無しさん
2012/07/04(水) 22:17:08.46 ステートフルなGUIを作るためのものだからサーバーがHTML吐くだけのアプリには無意味
SilverlightやAjaxなら普通に使える
SilverlightやAjaxなら普通に使える
271デフォルトの名無しさん
2012/07/04(水) 23:22:11.82 うがやって彼女いるの?
24時間キモイことつぶやいてるよね 。
さっきも、アスペルガー丸出しだった。
彼女どころか友達いなそう。
24時間キモイことつぶやいてるよね 。
さっきも、アスペルガー丸出しだった。
彼女どころか友達いなそう。
272デフォルトの名無しさん
2012/07/04(水) 23:38:25.94 個人攻撃に走るのはいかがなものか。
273デフォルトの名無しさん
2012/07/05(木) 00:22:46.48274デフォルトの名無しさん
2012/07/05(木) 01:34:01.44 何言ってるのかはみてないが24/7ではなかったな
日付が飛んでたから
日付が飛んでたから
275デフォルトの名無しさん
2012/07/05(木) 01:42:41.83 技術的な突込みならともかく、スレに関係ない話で個人攻撃はいくない
276デフォルトの名無しさん
2012/07/05(木) 07:05:45.91 個人の話がしたければヲチ板へ。
アスペの話がしたければメンヘラ板へ。
アスペの話がしたければメンヘラ板へ。
277デフォルトの名無しさん
2012/07/05(木) 07:37:21.07 ウガヤ氏に罵倒された勘違いMVVMerなんですね。わかります(´・ω・`)
278デフォルトの名無しさん
2012/07/05(木) 15:11:50.77 あれも2ちゃんでの話に文句があるなら2ちゃんでいえばいいのにな
279デフォルトの名無しさん
2012/07/05(木) 19:40:28.20 煽り耐性ゼロだから2ch無理とか言ってたけど
正直あのエントリに比べたらここやWPFスレの方がマイルドw
正直あのエントリに比べたらここやWPFスレの方がマイルドw
280デフォルトの名無しさん
2012/07/05(木) 20:43:53.52 いやさすがにそれはない
281デフォルトの名無しさん
2012/07/05(木) 20:46:14.32 ム板は煽られても他人の振りが出来るからなあ
282デフォルトの名無しさん
2012/07/05(木) 21:23:08.74 ここってJavaFXの話題もあり?
283デフォルトの名無しさん
2012/07/05(木) 22:08:33.80 ありじゃね
284デフォルトの名無しさん
2012/07/05(木) 22:53:24.29 JavaFXが最初に世に出た当時はなんでXMLじゃなくてわざわざ独自スクリプトなんだ
ボケカスと言われてたが、デザイナとプログラマの分業なんて幻想であって
ある程度ビューに振る舞い書けた方が便利だということを見越した判断だったんだな
XAMLのビヘイビア地獄よりははるかにマシだわ
ボケカスと言われてたが、デザイナとプログラマの分業なんて幻想であって
ある程度ビューに振る舞い書けた方が便利だということを見越した判断だったんだな
XAMLのビヘイビア地獄よりははるかにマシだわ
285デフォルトの名無しさん
2012/07/05(木) 22:57:52.73 今FXやるぐらいならSLでいいわ
286デフォルトの名無しさん
2012/07/05(木) 23:14:34.76 ビヘイビア地獄ってなんだよ
そんなに地獄に感じるならコードビハインドにコード書いたっていいんだぞ
そんなに地獄に感じるならコードビハインドにコード書いたっていいんだぞ
287デフォルトの名無しさん
2012/07/06(金) 00:55:22.61 .triggerを手で書くのはうぜぇっていうのは同意するが
あれはblendで書く物だろ
あれはblendで書く物だろ
288デフォルトの名無しさん
2012/07/06(金) 01:54:31.30 ビヘイビアもトリガーもインフラが整った環境じゃないとまともに使えん
自力で整えようとすると相応の労力が強いられる
遊びや自己学習でする分には良いけど、サクッと作りたいときや仕事だと2の足を踏むなー
Blendみたいな環境が無いと本気で使おうとは思わない
コードビハインドでもMVVM自体は可能だから手っ取り早く作りたいときはコードビハインドで良いだろ
自力で整えようとすると相応の労力が強いられる
遊びや自己学習でする分には良いけど、サクッと作りたいときや仕事だと2の足を踏むなー
Blendみたいな環境が無いと本気で使おうとは思わない
コードビハインドでもMVVM自体は可能だから手っ取り早く作りたいときはコードビハインドで良いだろ
289デフォルトの名無しさん
2012/07/12(木) 00:19:31.36 MVVMってプラガブルMVC劣化させたのと同じじゃねぇの?
プラガブルMVC劣化版と何が違うの?
プラガブルMVC劣化版と何が違うの?
290デフォルトの名無しさん
2012/07/12(木) 00:36:47.13 XAMLのこと知らないなら黙ってろ
291デフォルトの名無しさん
2012/07/12(木) 10:06:32.25 非同期処理ってモデルでSynchronizationContextとか使って面倒見たほうがいい?
それともやっぱりモデルの状態が複雑になるのは避けてVMでスレッド動かす?
それともやっぱりモデルの状態が複雑になるのは避けてVMでスレッド動かす?
292デフォルトの名無しさん
2012/07/12(木) 10:13:46.36 ポリシー次第じゃない?
モデルまではそのへんを気にせずガンガン使う→VMで考慮
VMはシンプルに作りたい→上で考慮
自分は前者だな。
モデルまではそのへんを気にせずガンガン使う→VMで考慮
VMはシンプルに作りたい→上で考慮
自分は前者だな。
293デフォルトの名無しさん
2012/07/12(木) 18:25:57.29 モデルで非同期してVMではメインスレッドが普通じゃない?
ViewからVM呼ぶんだし
ViewからVM呼ぶんだし
294デフォルトの名無しさん
2012/07/12(木) 18:51:53.23 UIにアクセスするとことか内部の状態を変えるとかだけVMでContextで同期取ればいいやん
295デフォルトの名無しさん
2012/07/19(木) 21:22:47.22 DIコンテナは何がいい?
UnityとNinjectとAutofac試してAutofacが気に入ったんだけど
UnityとNinjectとAutofac試してAutofacが気に入ったんだけど
296デフォルトの名無しさん
2012/07/21(土) 17:29:43.89 >>290
なんの関係が?
なんの関係が?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 [蚤の市★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 [蚤の市★]
- クリスマスの「予定なし」54% [少考さん★]
- 【話題】好きな鍋は?! 「寄せ鍋」「キムチ鍋」「水炊き」「もつ鍋」「豆乳鍋」「ちゃんこ鍋」「ごま坦々鍋」「トマト鍋」 [ひぃぃ★]
- 【STARTO ENTERTAINMENT】SUPER EIGHTの横山裕、フジ『ドッキリGP』ロケで全治2ヶ月の重傷 [Ailuropoda melanoleuca★]
- 地震 [Hitzeschleier★]
- 【実況】博衣こよりのえちえち機動戦士ガンダム逆襲のシャア🧪
- 不動産屋、ついに帰化した日本人まで「内見の段階で」お断りしはじめる [377482965]
- 茶ぁしばこうや···
- J( 'ー`)し「で、アンタなんで働かないの?」 ワイ👶「理由は2つありまして~」🏡
- 日本人億り人、大丈夫なFXで稼ぎまくる… [667744927]
- おさかなさんあつまれえ
