MVVMについて語ろう

■ このスレッドは過去ログ倉庫に格納されています
2012/06/06(水) 11:03:33.21
WPF/Silverlight/WinRT開発の必須技術、MVVMについて語ろうではないか!
2012/06/29(金) 20:05:40.23
>>250が≠の意味を誤解しているのは分かった
2012/07/01(日) 09:58:01.85
LivetってPrismにあるようなナビゲーションスタイルのアプリケーションには対応してないよね
アホみたいに時間かかってる割には全体的に…
2012/07/01(日) 10:29:40.96
お前は何を言っているんだ
2012/07/01(日) 10:44:49.81
>>253
ウインドウ内で画面遷移するやつ(PrismのRegionみたいなの)
できるなら教えてほしい
2012/07/02(月) 02:00:05.07
個人製作のフレームワークがごく限られたケースにしか対応してないのはよくあること
配慮してくれないと
2012/07/02(月) 17:16:37.30
ContentControlでも使ってろ
2012/07/04(水) 01:06:26.25
Livetの中の人、ついったーがキモい・・・
2012/07/04(水) 01:21:34.90
WebMVC
http://d.hatena.ne.jp/yojik/touch/20091019/1255963600
2012/07/04(水) 10:36:51.30
>>153みたいなことしちゃうアレな人だからな
2012/07/04(水) 15:31:22.65
いやなら反論してみればいいんじゃね
2012/07/04(水) 15:43:14.21
例の人は目先の細かい実装に囚われすぎなんだよ
>>154で説明されているような
・VMをビジネスロジックに依存させないことによるVMの再利用性の向上
・VをVMに依存させない(つまりVMを直接触るようなコードビハインドを書かない)ことによるVの再利用性の向上
・Pは差し替え可能
・DIとの相性
と言ったことに全く触れられていない
2012/07/04(水) 15:56:30.88
直接言って来いよ
ここでやんな
2012/07/04(水) 18:25:12.71
技術的な話はここでいいだろ。

性格批判は向こうでどうぞ。
2012/07/04(水) 18:36:48.98
そうそう、そのためのスレなんだから

MVPVMのサンプル見ると、三つのプラットホームでVMを共通化してる
VとVMの疎結合のためにPを設けてるわけだが、
現実的に考えると、VMの共通化を図る要件って実際あり得るのだろうか?
2012/07/04(水) 18:44:57.68
>>154のリンク先の例にあるような、同じV-VMペアを別の用途で使いまわすっていうのは
割とあるんじゃないかと思う
2012/07/04(水) 19:12:57.94
VMの共通化は無い派。
デバイスが変われば見た目も変えたくなるし、全てのデバイスで使えるスーパーセットのVMもどうかと思う。
Mが可能な限り共有できればそれでよいと思う。
2012/07/04(水) 19:25:18.53
要件によるけど、スーパーセットのVM使えるところも多々あるんじゃない?
使えないところだけVMを個別作るとかが望ましいなぁ
2012/07/04(水) 19:42:38.71
最近客に「文字大きくしてくれ」って言われてVだけコピペしたよ
2012/07/04(水) 22:00:23.71
ねぇ。これがどうウェブアプリに使えるの?
2012/07/04(水) 22:17:08.46
ステートフルなGUIを作るためのものだからサーバーがHTML吐くだけのアプリには無意味
SilverlightやAjaxなら普通に使える
2012/07/04(水) 23:22:11.82
うがやって彼女いるの?
24時間キモイことつぶやいてるよね 。
さっきも、アスペルガー丸出しだった。
彼女どころか友達いなそう。
2012/07/04(水) 23:38:25.94
個人攻撃に走るのはいかがなものか。
2012/07/05(木) 00:22:46.48
>>272
今Twitter見てみ?
完全にアスペだぜ?
2012/07/05(木) 01:34:01.44
何言ってるのかはみてないが24/7ではなかったな
日付が飛んでたから
2012/07/05(木) 01:42:41.83
技術的な突込みならともかく、スレに関係ない話で個人攻撃はいくない
2012/07/05(木) 07:05:45.91
個人の話がしたければヲチ板へ。
アスペの話がしたければメンヘラ板へ。
2012/07/05(木) 07:37:21.07
ウガヤ氏に罵倒された勘違いMVVMerなんですね。わかります(´・ω・`)
2012/07/05(木) 15:11:50.77
あれも2ちゃんでの話に文句があるなら2ちゃんでいえばいいのにな
2012/07/05(木) 19:40:28.20
煽り耐性ゼロだから2ch無理とか言ってたけど
正直あのエントリに比べたらここやWPFスレの方がマイルドw
2012/07/05(木) 20:43:53.52
いやさすがにそれはない
2012/07/05(木) 20:46:14.32
ム板は煽られても他人の振りが出来るからなあ
2012/07/05(木) 21:23:08.74
ここってJavaFXの話題もあり?
2012/07/05(木) 22:08:33.80
ありじゃね
2012/07/05(木) 22:53:24.29
JavaFXが最初に世に出た当時はなんでXMLじゃなくてわざわざ独自スクリプトなんだ
ボケカスと言われてたが、デザイナとプログラマの分業なんて幻想であって
ある程度ビューに振る舞い書けた方が便利だということを見越した判断だったんだな
XAMLのビヘイビア地獄よりははるかにマシだわ
2012/07/05(木) 22:57:52.73
今FXやるぐらいならSLでいいわ
2012/07/05(木) 23:14:34.76
ビヘイビア地獄ってなんだよ
そんなに地獄に感じるならコードビハインドにコード書いたっていいんだぞ
2012/07/06(金) 00:55:22.61
.triggerを手で書くのはうぜぇっていうのは同意するが
あれはblendで書く物だろ
2012/07/06(金) 01:54:31.30
ビヘイビアもトリガーもインフラが整った環境じゃないとまともに使えん
自力で整えようとすると相応の労力が強いられる
遊びや自己学習でする分には良いけど、サクッと作りたいときや仕事だと2の足を踏むなー
Blendみたいな環境が無いと本気で使おうとは思わない

コードビハインドでもMVVM自体は可能だから手っ取り早く作りたいときはコードビハインドで良いだろ
2012/07/12(木) 00:19:31.36
MVVMってプラガブルMVC劣化させたのと同じじゃねぇの?
プラガブルMVC劣化版と何が違うの?
2012/07/12(木) 00:36:47.13
XAMLのこと知らないなら黙ってろ
2012/07/12(木) 10:06:32.25
非同期処理ってモデルでSynchronizationContextとか使って面倒見たほうがいい?
それともやっぱりモデルの状態が複雑になるのは避けてVMでスレッド動かす?
2012/07/12(木) 10:13:46.36
ポリシー次第じゃない?
モデルまではそのへんを気にせずガンガン使う→VMで考慮
VMはシンプルに作りたい→上で考慮
自分は前者だな。
2012/07/12(木) 18:25:57.29
モデルで非同期してVMではメインスレッドが普通じゃない?
ViewからVM呼ぶんだし
2012/07/12(木) 18:51:53.23
UIにアクセスするとことか内部の状態を変えるとかだけVMでContextで同期取ればいいやん
2012/07/19(木) 21:22:47.22
DIコンテナは何がいい?
UnityとNinjectとAutofac試してAutofacが気に入ったんだけど
2012/07/21(土) 17:29:43.89
>>290
なんの関係が?
2012/07/24(火) 05:21:39.59
Livetの新しいの公開されたけど、これ、
旧バージョンインストールして作ってたアプリある場合、
新しいLivet入れても問題ないのかな?
旧バージョンのままじゃないと動かなくなるとかだと困る
2012/07/24(火) 06:12:23.43
Livetのプロジェクトテンプレート使ったんならLivet.dllのローカルコピーがあるべ。
2012/07/24(火) 06:28:21.45
それだと古い方のdllも残しておかないといけないってこと?
新しい方に差し替えたらそのまま動かないのかな…

新しいPCにVisualStudioとLivetの新しいのだけ入れたら、
旧バージョンで作ったアプリの修正とかはできなくなる?

上書きインストールしていいのかとか、
そこら辺、公式サイトに何も書いてないから怖くて入れられない
2012/07/24(火) 08:16:05.78
>>299
ここに書くよりも直接連絡しろよw
2012/07/24(火) 08:39:50.00
Livetのテンプレート使って作ったプロジェクトならInfrastructureAssembliesフォルダにいままでのLivet.dllはそのままあるし
参照設定もそれを参照しているから自分で明示的に置き換えない限り新しいバージョンのLivetを入れてもそいつのバージョンはそのまま
自分でProgram FilesにあるLivet.dllに参照設定してたらアップデートしたらアップデートしたバージョンのものになる
また新しいものに差し替えたとしても破壊的変更があるものはそのままでは動かないし、特定バージョン参照してたらたとえ破壊的変更がなくともリビルドが必要
Livetに限らずライブラリ使うときの基本的なことだと思うが
302デフォルトの名無しさん
垢版 |
2012/07/24(火) 10:53:05.83
>>300
諸般の事情で直接連絡したくない場合もあるんだよ
そのための2chだろうが
2012/07/24(火) 13:52:17.88
んなわけねーだろ
捨てアカで報告してこい
2012/08/08(水) 10:33:09.91
MVVMerなら即VS2012にするよな?
2012/08/08(水) 10:47:52.07
それはあんまり関係ないな
306デフォルトの名無しさん
垢版 |
2012/08/08(水) 19:08:07.03
MVVMerとかフルMVVMとか、日本だけの造語が目立つな
2012/08/08(水) 19:16:36.34
2012というか.NET4.5だとXP切り捨てになるのが
2012/08/08(水) 19:20:24.35
>>307
です。
VB6ランタイムはWin8でも動くと言うのに酷い話だ。
2012/08/08(水) 19:33:31.78
MVVMはWindows7以降用技術です
2012/08/08(水) 23:10:28.72
いいえ、ウェブ技術(JavaScript)です。

http://ameblo.jp/ca-1pixel/entry-11298459074.html

knockout.js (http://knockoutjs.com/)

knockout.jsはMVVM(Model-View-ViewModel)パターンのフレームワークです。
双方向データバインディングやアイテムテンプレート等の機能があり、SilverlightやWPF開発者にはかなりとっつきやすいフレームワークだと思います。
2012/08/10(金) 00:03:20.35
Win8でも動作するし、VB6でのMVVMまだ?
2012/08/10(金) 00:29:56.78
パターンにまだ?って言われても
自分でやることじゃねーのか
2012/08/10(金) 00:44:36.96
vb6でも普通にMVVMできるだろう
Observerやビヘイビア作るのが難儀な気がするからコードビハインド主体になりそうだけど
2012/08/10(金) 10:33:45.16
おまいら、なにか根本的に勘違いしてるだろ
2012/08/10(金) 12:38:35.91
誰に言ってんの
何を言ってんの
2012/08/10(金) 13:57:56.40
MVVMの定義に相当するものはVB6ではできんだろ。
MVPも厳しい。
おとなしく、モジュール分割をちゃんとした昔ながらのC/Sシステムっぽくやっていろ。

…っという話かな?
2012/08/10(金) 22:33:15.87
クラスをちゃんと定義すりゃできるだろ
ライブラリで用意されてるインフラ全部自分で作らにゃならんけど
2012/08/10(金) 22:48:20.32
VB6の仕様だけでインフラ作るのは厳しくないかね?
いや、API使ってフックレベルからやれば、そりゃ出来るだろうけど
2012/08/10(金) 22:52:44.04
MVVMのどういう場面だ?
2012/08/11(土) 01:28:16.52
VBだとクラスモジュールから
イベント送信できるんだから
MVVMは実装しやすい方法言語だよ。
2012/09/08(土) 12:02:20.04
可能性とかで語られてもな。
実際にそれを VB6 でやる気になるかい? って話も重要だろ
2012/09/08(土) 12:30:15.15
「VB6 を やる気にならない」が正解
2012/09/08(土) 12:58:28.48
VBってまだ絶滅してないのか
何のためにMSはC#出したんだ
2012/09/08(土) 23:34:49.46
MSほど多様な製品を長期に渡ってサポートしてくれるとこは他にない。
VB6が世に出てから14年経つがWin8でも公式にサポートされた。

リプレースするにも金がかかるから動く限りは保守しながら使いたいって客は案外多いよ。
2012/09/10(月) 11:25:40.15
そういう用途ならhost側で動かなくてもVMで動いてくれりゃ充分なんだが
2012/09/21(金) 19:02:26.84
VB早く消えてなくならないかなー
MSもサクッと切ればいいのに
2012/09/21(金) 19:03:37.99
リプレースに金がかかるかもしれないが保守にも金がかかる
2012/09/21(金) 20:02:31.93
案外金が掛かった方が良いのかも知れない
払ってくれる相手なら
2012/09/21(金) 21:11:01.59
VB6からC#へのリプレースおいしいです
2012/10/06(土) 11:05:26.15
んで MVVMでアプリつくってるやついるの???
まじでいらねぇんだが.
2012/10/08(月) 09:21:35.40
一つの画面でいろいろやるタイプのアプリには向かないのは事実
2012/10/08(月) 19:09:14.56
一つの画面で色々やるというか、Vの作り込みの比重が多いアプリだとあんま活躍しないわな。
2012/10/08(月) 20:43:24.80
ツール類には向かんわな
せいぜい複雑なダイアログがあればそこに使う程度
2012/10/08(月) 21:26:12.25
複雑なウィンドウなら複数のコントロールに分割すればいい話じゃね
2012/10/13(土) 17:02:29.65
メモリリークする原因がわからない
2012/10/13(土) 17:08:27.07
イベント
2012/10/13(土) 19:31:26.75
>>335
メモリを使っている人がいるんじゃないかな
338デフォルトの名無しさん
垢版 |
2012/10/14(日) 16:54:03.98
徐々にウェブの世界でも
MVVMが浸透してきたな。

MVCだけじゃ、いろいろ足りない。
2012/10/14(日) 17:05:03.26
>>335
こういうのでは?
https://www.google.co.jp/search?q=mvvm+メモリーリーク&ie=UTF-8&oe=UTF-8&hl=ja
2012/10/14(日) 20:38:40.26
>>338
Ajaxとかだるすぎ
WebはサーバーでHTMLを垂れ流すだけという低脳さが良いのに
341デフォルトの名無しさん
垢版 |
2012/10/16(火) 00:33:06.45
>>340
テンプレート使ったこと無いの?

サーバーでテンプレートに渡す値を
値そのまま渡せばそれがAjaxになる。

サーバーサイドアプリ - テンプレート処理
なのだから、確実にAjaxの方が簡単になってる。;
2012/10/16(火) 01:04:33.51
意味がわからない
テンプレートって普通サーバーで使うもんだろ? クライアント側でテンプレート使うってこと?
それがサーバーでやるより簡単だと言える根拠は?
2012/10/16(火) 01:11:23.92
どっちも簡単だろ。
jQueryみたいなライブラリが充実してきて笑えるぐらい簡単になった。
これが難しいってム板に居られる資質がないとしか思えん。
2012/10/16(火) 18:10:03.69
>>342
サーバの負荷の関係上、サーバでテンプレートエンジン使わない方がいいとかもあるんだけど、
最近は、サーバから戻ってくるのはJSONオブジェクトとテンプレートで、クライアントでテンプレート
エンジンかましてページを生成する方が良いような気がしてるよ。基本Ajaxで。

受けとったJSONオブジェクトを元に、自力でDOMを書き換えても良いし。
345デフォルトの名無しさん
垢版 |
2012/10/16(火) 20:40:35.72
クライアントが以前より負荷が高くなるという問題もあるけれど、
以前というのはもう十数年前だったら問題になるというレベルで
今はクライアントは十分な性能を持ってるしね。
ブラウザ自体も速くなった。

それに比べるとネットワークはまだまだ遅いわけで、
テンプレートはローカルにキャッシュしておいて
データ量を減らすほうが得策かな。
サーバー負荷も低くなるし。

これぐらいだれでも思っていることで、
普通サーバーでやるもんだろで終わってる人ってのは
何も考えてないとしか思えないけどw
2012/10/16(火) 20:43:20.12
一方Twitterは以前API直接たたいてJSONからDOM生成してたのが最近生成済みのhtml片を鯖から受け取るようになった
2012/10/16(火) 21:07:29.77
完全なAjaxができるならいいが、
普通そうはいかないもんな
どうせサーバーで生成しなきゃいけないならなるべくサーバーにまとめちゃった方が楽
348デフォルトの名無しさん
垢版 |
2012/10/16(火) 21:18:45.66
どっちみちAjaxは使わないといけないんだから
クライアントにまとめちゃったほうが楽
2012/10/16(火) 21:24:48.64
Ajaxはオプションだろ
利便性のためにクライアントでAjax使ってバリデーションしたとしても、
どのみちサーバーでもやらないといけない
350デフォルトの名無しさん
垢版 |
2012/10/16(火) 21:30:02.30
Ajaxはバリデーション以外で使うものって
わからないのか?w

バリデーションなら単なるJavaScriptで良い
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況