MVVMについて語ろう
■ このスレッドは過去ログ倉庫に格納されています
2012/06/06(水) 11:03:33.21
WPF/Silverlight/WinRT開発の必須技術、MVVMについて語ろうではないか!
683デフォルトの名無しさん
2013/11/15(金) 14:31:37.31 昔はフォルダで分けてたけど、今はこんな感じ↓
ソリューション
- ModelLayerプロジェクト
- ViewModelLayerプロジェクト
- ViewLayerプロジェクト
- UnitTestプロジェクト
- Commonプロジェクト
ソリューション
- ModelLayerプロジェクト
- ViewModelLayerプロジェクト
- ViewLayerプロジェクト
- UnitTestプロジェクト
- Commonプロジェクト
684デフォルトの名無しさん
2013/11/15(金) 14:38:30.55 書き忘れたけどもう一つ、ソリューション名と同名のプロジェクトが有るな
(仮にMainプロジェクト)
MainプロジェクトとUnitTestプロジェクトは、アプリケーションプロジェクトで
V/VM/M及びCommonプロジェクトは、クラスライブラリプロジェクト
(仮にMainプロジェクト)
MainプロジェクトとUnitTestプロジェクトは、アプリケーションプロジェクトで
V/VM/M及びCommonプロジェクトは、クラスライブラリプロジェクト
685デフォルトの名無しさん
2013/11/15(金) 18:56:17.04 C#の場合自動生成される名前空間にフォルダ階層が付加される仕様がこういう場合鬱陶しい
686デフォルトの名無しさん
2013/11/15(金) 19:45:58.66 複数の機能(サブシステム)から構成されるようなアプリなら、俺も680派。
「レイヤ」よりも「機能」の方が凝集度高いんだし。
1機能内でもまだ画面が多いようなら、/機能/の下にView/ViewModelとかを作っても良いけど。
そこまででなければ、少なくともViewとViewModelはセットで。
Modelは、機能固有のものならセットにしても良いけど、だいたいはアプリケーションレベルで
考えるものな気もするので、別配置。
「レイヤ」よりも「機能」の方が凝集度高いんだし。
1機能内でもまだ画面が多いようなら、/機能/の下にView/ViewModelとかを作っても良いけど。
そこまででなければ、少なくともViewとViewModelはセットで。
Modelは、機能固有のものならセットにしても良いけど、だいたいはアプリケーションレベルで
考えるものな気もするので、別配置。
687デフォルトの名無しさん
2013/11/15(金) 23:49:30.50 ModelはともかくViewとVMは一対一で対応してること多いからなあ
688デフォルトの名無しさん
2013/11/16(土) 04:31:20.31 Modelはフォルダどころか別プロジェクトだろ
689679
2013/11/17(日) 16:07:31.49690デフォルトの名無しさん
2013/11/17(日) 16:51:12.93 VMが扱うモデルは1つとは限らないわけで、そういうのは無理があると思うけどね
691デフォルトの名無しさん
2013/11/18(月) 10:21:42.10 ん?
692デフォルトの名無しさん
2013/11/19(火) 23:38:23.24 >>690
機能単位でまとめるのはVとVMまでにして、モデルは別フォルダとか別プロジェクトにまとめる、でいいんんじゃないかな?
機能単位でまとめるのはVとVMまでにして、モデルは別フォルダとか別プロジェクトにまとめる、でいいんんじゃないかな?
693デフォルトの名無しさん
2014/01/13(月) 13:39:58.61 Mの設計にいまいち確信が持てないんだけど
例えばChromeみたいなタブブラウザを作る場合、開いてるページのコレクションはMで持つの?
例えばChromeみたいなタブブラウザを作る場合、開いてるページのコレクションはMで持つの?
694デフォルトの名無しさん
2014/01/13(月) 18:47:34.47 >>693
MVVMはそんなに厳密に考えんでいいと思うけどね。
VMをVIEWを軽くするためのロジック移し場所ぐらいに考えてモデルを分ける必要あるなら作ると。そのモデルは一つでも複数でもいい。
Chromeの例なら自分なら開いてるタブやその他の状態を持つアクター一個作るかな。
MVVMはそんなに厳密に考えんでいいと思うけどね。
VMをVIEWを軽くするためのロジック移し場所ぐらいに考えてモデルを分ける必要あるなら作ると。そのモデルは一つでも複数でもいい。
Chromeの例なら自分なら開いてるタブやその他の状態を持つアクター一個作るかな。
695デフォルトの名無しさん
2014/01/14(火) 13:13:51.65 MVVMの設計に関しては、
まずアプリケーションをVとMに分ける。
次にVをVとVMに分ける
くらいの考えでいいと思う
まずアプリケーションをVとMに分ける。
次にVをVとVMに分ける
くらいの考えでいいと思う
696デフォルトの名無しさん
2014/01/15(水) 10:21:03.85 今はMVVMPCEARELS
697デフォルトの名無しさん
2014/03/05(水) 07:59:10.50 test
698デフォルトの名無しさん
2014/03/05(水) 16:17:16.97 普及している感じがしない
699デフォルトの名無しさん
2014/05/19(月) 20:39:55.28ID:kwGHw8xe ModelがViewを意識しなきゃいけないとか言ってるアホの事は無視して良いですか?
それは単に、本来Modelの責務だったものっていうだけじゃないのかよ。
それは単に、本来Modelの責務だったものっていうだけじゃないのかよ。
700デフォルトの名無しさん
2014/05/20(火) 17:04:41.75ID:Vv+C9W3P >>699のような手合いは一度ふぁうらー先生の本でも読んだらいいよ
関心事の分離とフレームワーク依存がわかってない
関心事の分離とフレームワーク依存がわかってない
701デフォルトの名無しさん
2014/05/20(火) 20:57:52.43ID:PPVaI37M PoEAAは読んでるけど、どこがわかってないのかわからないので、教えてくれ。
702デフォルトの名無しさん
2014/05/20(火) 22:25:34.65ID:9K9vHtgJ >>699
今迄一度もViewでこのデータが必要だからここに持たそうとかやったことのないものだけが石を投げなさい(。-_-。)
今迄一度もViewでこのデータが必要だからここに持たそうとかやったことのないものだけが石を投げなさい(。-_-。)
703デフォルトの名無しさん
2014/05/21(水) 21:50:13.56ID:v99ZJ6SN >>700
マジでなにがどうわかってないんだか教えて欲しいんだがな。
マジでなにがどうわかってないんだか教えて欲しいんだがな。
704699
2014/05/24(土) 11:22:05.67ID:zWM8Vigu toroのログが欠落しちゃってるのか。
で、ごめんなさい、読み返してみて、自分の言い方が完全に悪かったと思いました。
toroの705の言っていることに対する認識の相違はないです。
自分がアホだと思ったのは[ModelがViewを意識]と[Modelの責務]をごっちゃにして、
[Modelの責務]として適切だった例を論拠に[ModelがViewを意識]を都合良く解釈して、
短絡的に、なんでもModelに実装して良いんだというような発言をしている人の事です。
で、ごめんなさい、読み返してみて、自分の言い方が完全に悪かったと思いました。
toroの705の言っていることに対する認識の相違はないです。
自分がアホだと思ったのは[ModelがViewを意識]と[Modelの責務]をごっちゃにして、
[Modelの責務]として適切だった例を論拠に[ModelがViewを意識]を都合良く解釈して、
短絡的に、なんでもModelに実装して良いんだというような発言をしている人の事です。
705デフォルトの名無しさん
2014/08/08(金) 20:06:25.89ID:hTY6BR7I 派遣で行った先がひどかった
VMで、いろんな処理に使われるプロパティAが
VMのコンストラクタとかで初期化されるわけでもなく、
一体どこで初期化されてるんだ? と思ったら、
そのVMの、全く別のプロパティBがVにバインドされてて、
そのプロパティBが読みだされる時に
初めてプロパティAが初期化される、というとんでもない仕組み。
当然、VとバインドしてBが呼び出されない限りAは永遠に初期化されないので
Aを使ういろんな処理も一切できないという、
Vなしでは成り立たないVM
正気の沙汰とは思えなかった
VMで、いろんな処理に使われるプロパティAが
VMのコンストラクタとかで初期化されるわけでもなく、
一体どこで初期化されてるんだ? と思ったら、
そのVMの、全く別のプロパティBがVにバインドされてて、
そのプロパティBが読みだされる時に
初めてプロパティAが初期化される、というとんでもない仕組み。
当然、VとバインドしてBが呼び出されない限りAは永遠に初期化されないので
Aを使ういろんな処理も一切できないという、
Vなしでは成り立たないVM
正気の沙汰とは思えなかった
706デフォルトの名無しさん
2014/08/11(月) 04:58:47.86ID:AsXPTVx9 なんか問題あったの?
707デフォルトの名無しさん
2014/08/28(木) 11:45:13.53ID:lp41KTll MVVMのM/VM/Vの各要素はなんとなく分かったけど、全体でどんな形になるかいまいち確信が持てないんだけど
何かいいサンプルコードないかな。
特にModelの設計で参考になるようなのが欲しい。
何かいいサンプルコードないかな。
特にModelの設計で参考になるようなのが欲しい。
708デフォルトの名無しさん
2014/10/26(日) 00:10:47.24ID:7919Oq6z Prism5.0が出たそうなんだけど、画面遷移とかで標準になりそうな新しい切り口出てた?
709デフォルトの名無しさん
2014/10/26(日) 07:28:37.82ID:c+Lrzsy1 MSがこれ使えっていう決定版出してほしいな。
プロジェクト形式でもいいから。
プロジェクト形式でもいいから。
710デフォルトの名無しさん
2015/02/26(木) 21:33:45.94ID:cT7tYUid ReactiveProperty良さげなんだけど使ってる人います?
週末にでも遊んでみよう。
週末にでも遊んでみよう。
711デフォルトの名無しさん
2015/09/25(金) 15:22:24.80ID:kx8P/2+s Livet1.3キタ
712デフォルトの名無しさん
2015/10/21(水) 22:31:30.80ID:4/KXy1nx WPF MVVMでアプリ作ってる人いるんだろうかと思えるくらい過疎っぷりだな
ほんと情報少なくて困ってる
ほんと情報少なくて困ってる
713デフォルトの名無しさん
2015/10/22(木) 01:36:32.77ID:5QLmtDbA こんなスレあったのか。今まで気が付かなかった。
MVVMは机上の空論っていうか筋が悪いの一言に尽きると思う。
これは過去にオブジェクト指向が攻撃されたような批判者の理解不足に基づく誤解では必ずしもない。
MVVMは机上の空論っていうか筋が悪いの一言に尽きると思う。
これは過去にオブジェクト指向が攻撃されたような批判者の理解不足に基づく誤解では必ずしもない。
714デフォルトの名無しさん
2015/10/22(木) 11:01:27.71ID:T+i/NslY とオブジェクト指向の時にも同じようなことを言っていた人はいた。
715デフォルトの名無しさん
2015/10/22(木) 12:13:21.98ID:dfQe7r4R716デフォルトの名無しさん
2015/10/22(木) 13:13:45.09ID:522gqyPw >>714
オブジェクト指向は筋が悪かったからな
オブジェクト指向は筋が悪かったからな
717デフォルトの名無しさん
2016/01/20(水) 23:45:57.28ID:xrqpD1Un 結局どんな設計がいいの?
Rxに傾倒したけど、上手く使いこなせてない
Rxに傾倒したけど、上手く使いこなせてない
718デフォルトの名無しさん
2016/05/01(日) 15:54:23.24ID:tKi6j9CT 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
・
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
・
719デフォルトの名無しさん
2016/05/01(日) 22:27:00.95ID:VrD9Va1p720デフォルトの名無しさん
2016/05/03(火) 11:18:03.92ID:uB7yk5jG fluxのデータフロー見てたらApache Strutsを再発明したかったのかなって思た
721デフォルトの名無しさん
2016/05/10(火) 17:20:07.82ID:sgC64ZMu MVVMって保守性が悪いよね。
WPF自体がそういう傾向が強いけど、MVVM使うと輪を掛けてそうなる。
他人が見て、後で自分が見て、ここのこの機能はどうやって実現されてるのか、
ここの仕様を変えるにはどこをいじればいいの、理解するのに時間が掛かり過ぎる。
MVVMで保守性が高くなるんだ!って喧伝してる人がいるのは知ってるけど、
正直裸の王様を褒めてるようにしか思えない。
WPF自体がそういう傾向が強いけど、MVVM使うと輪を掛けてそうなる。
他人が見て、後で自分が見て、ここのこの機能はどうやって実現されてるのか、
ここの仕様を変えるにはどこをいじればいいの、理解するのに時間が掛かり過ぎる。
MVVMで保守性が高くなるんだ!って喧伝してる人がいるのは知ってるけど、
正直裸の王様を褒めてるようにしか思えない。
722デフォルトの名無しさん
2016/05/10(火) 20:43:19.06ID:OBekjSgo 結局正解はなくて最適解があるだけなんだけどさ
よくある失敗はMVC、それも頭でっかちなコントローラーをVMに置き換えているだけパターン
この場合ビューモデルが主役で、テンプレートエンジンのビューと1:1の対となる入れ物の箱モデル
を量産することになる
ちょこっとイベントハンドラーをコードビハインドに書いたら、あとは全部ビューモデルにお任せ
という中央集権国家が誕生、疎結合どこいったって話だな
よくある失敗はMVC、それも頭でっかちなコントローラーをVMに置き換えているだけパターン
この場合ビューモデルが主役で、テンプレートエンジンのビューと1:1の対となる入れ物の箱モデル
を量産することになる
ちょこっとイベントハンドラーをコードビハインドに書いたら、あとは全部ビューモデルにお任せ
という中央集権国家が誕生、疎結合どこいったって話だな
723デフォルトの名無しさん
2016/05/10(火) 21:04:44.88ID:Urp5/7iJ >>721
>他人が見て、後で自分が見て、ここのこの機能はどうやって実現されてるのか、
>ここの仕様を変えるにはどこをいじればいいの、理解するのに時間が掛かり過ぎる。
これって単に慣れてないからってだけじゃなくて?
>他人が見て、後で自分が見て、ここのこの機能はどうやって実現されてるのか、
>ここの仕様を変えるにはどこをいじればいいの、理解するのに時間が掛かり過ぎる。
これって単に慣れてないからってだけじゃなくて?
724デフォルトの名無しさん
2016/05/10(火) 21:24:17.05ID:YLufBM4s 昔のようなデバッグして追いづらいってのはあるな。
725デフォルトの名無しさん
2016/05/11(水) 11:26:55.39ID:sA9FQTwa やっぱりrails系は偉大だったってことかなー。
どこにどんなコードを置くのかフレームワークとして強制するって大事だね。
iOSとかUIKitってだけだから特にファイル構成に対する強制がなくて悩む。
どこにどんなコードを置くのかフレームワークとして強制するって大事だね。
iOSとかUIKitってだけだから特にファイル構成に対する強制がなくて悩む。
726デフォルトの名無しさん
2016/11/25(金) 20:31:02.28ID:JXCOPEY3 お前らがMVVM頑張っても
画面設計者がMVVM理解者とは限らないから
どこかは破綻するんやで
画面設計者がMVVM理解者とは限らないから
どこかは破綻するんやで
727デフォルトの名無しさん
2016/12/15(木) 23:39:13.49ID:KILwFG0x MV)o¥o(VM
728デフォルトの名無しさん
2017/03/23(木) 17:58:48.49ID:aO3Y1mks データを格納したdatatableをdatagridにバインドして表示させてます。
この場合、datatableはVMですか?Vですか?
この場合、datatableはVMですか?Vですか?
729デフォルトの名無しさん
2017/03/23(木) 23:57:20.04ID:pns5gc7N 他のフレームワークに比べてMVVMが有用なケースって、WPF以外だとどんなのがありますか?
730デフォルトの名無しさん
2017/03/31(金) 23:28:02.62ID:Cc537bij731デフォルトの名無しさん
2017/04/21(金) 04:30:27.44ID:H6APCPmE UWPみたいな大きい画面から小さい画面までサポートする奴。
UIとロジック分けられないと死ねる。
UIとロジック分けられないと死ねる。
732デフォルトの名無しさん
2017/05/11(木) 22:40:49.29ID:NjKe635i modelからViewModelに通信の結果を返すときに、
Rxとか使わずに、interfaceを渡してコールバックを返すようにするのは何かマズいんでしょうか
Rxとか使わずに、interfaceを渡してコールバックを返すようにするのは何かマズいんでしょうか
733デフォルトの名無しさん
2017/05/11(木) 23:10:02.50ID:w+/nr1Tg Rxも結局インターフェースだしいいんじゃ?
734デフォルトの名無しさん
2017/05/11(木) 23:55:27.09ID:NjKe635i modelは状態の公開と戻り値のないメソッドの提供のみするそうですが、
状態の公開っていうのは要はpublicなfieldってことなんでしょうか
getterで提供したらなんで駄目なんでしょうか
c#のことはよくわかりませんandroid javaを想定しています
状態の公開っていうのは要はpublicなfieldってことなんでしょうか
getterで提供したらなんで駄目なんでしょうか
c#のことはよくわかりませんandroid javaを想定しています
735デフォルトの名無しさん
2017/05/12(金) 11:29:50.90ID:WPNdofPW >>734
メソッドの戻り値をvoidにする、setterを提供しないのはMVVM由来ではなく、非同期な作りをしたい場合に起因します。
これは非同期な作りの場合、メソッドを呼び出しても直ちに状態が変更されるとは限らないから。
なので、状態の変更が完了した時点でMが通知し、受信側がgetterを介して状態を取得することを推奨しているに過ぎない。
逆に同期的な呼び出ししかしないのであれば、setterやメソッドの戻り値も好きにすればいいと思います。
メソッドの戻り値をvoidにする、setterを提供しないのはMVVM由来ではなく、非同期な作りをしたい場合に起因します。
これは非同期な作りの場合、メソッドを呼び出しても直ちに状態が変更されるとは限らないから。
なので、状態の変更が完了した時点でMが通知し、受信側がgetterを介して状態を取得することを推奨しているに過ぎない。
逆に同期的な呼び出ししかしないのであれば、setterやメソッドの戻り値も好きにすればいいと思います。
736デフォルトの名無しさん
2017/05/12(金) 12:01:49.68ID:efiy+Fg+ がや氏の戻り値返すなとかはCQRSやReactみたいに処理の流れを固定しろってのが本質と思うが本人もアーキによって返しますよとかいってるからじゃああの煽りはなんだったの感もありよくわかんね
737デフォルトの名無しさん
2017/05/12(金) 18:50:06.13ID:NqFIOOZC 本人の中では色々な蓄積もあってその上で言ってんだろうけど、間を飛ばすから外から見たらよくわからん事になってるという印象
738デフォルトの名無しさん
2017/05/12(金) 19:52:15.91ID:05vfegfG とりあえず御大の言うことはスルーしておいて、Flux、Reduxなんかについて調べてから、自分で答えを出せばよろし
739デフォルトの名無しさん
2017/05/12(金) 20:05:15.61ID:6PqY2VyR C#で状態の公開というとプロパティを使うわけだけど、
javaにはプロパティがないからgetter使うしかないだろうし…
そもそもMVVMではgetter使っちゃダメなんて話があるの…?
javaにはプロパティがないからgetter使うしかないだろうし…
そもそもMVVMではgetter使っちゃダメなんて話があるの…?
740デフォルトの名無しさん
2017/05/12(金) 20:34:29.17ID:z/cC9xJA 状態の公開が何でpublicなfieldになんのか分からん
オブジェクト指向もっかい勉強した方がいい
オブジェクト指向もっかい勉強した方がいい
741デフォルトの名無しさん
2017/05/12(金) 22:16:02.54ID:Ne3HESGY いや返り値のないメソッドしかテイギシタラ駄目っていう縛りがあると思ってたから、
getterも駄目なのかと
getterも駄目なのかと
742デフォルトの名無しさん
2017/05/12(金) 23:10:52.37ID:6PqY2VyR MVVMの提唱がMSからだし、MSが作った言語にはプロパティがあるから…
…javaのgetterが駄目ならプロパティ使うのも駄目になるはず
…javaのgetterが駄目ならプロパティ使うのも駄目になるはず
743デフォルトの名無しさん
2017/05/12(金) 23:56:43.00ID:XKa7CxLZ ゲッターかプロパティかは本質じゃないだろう。
ゲッターをフィールドっぽく見せてるのがプロパティなだけなんだし。
ゲッターをフィールドっぽく見せてるのがプロパティなだけなんだし。
744デフォルトの名無しさん
2017/05/13(土) 06:13:49.08ID:Hzzf9sbT AndroidでMVVMやりたいだけなのに
C#でのMVVMとFluxとReduxとクリーンアーキテクチャと
databindingとRxとretrolamdaと全部学ばないといけないわけ?
敷居高杉ませんか
C#でのMVVMとFluxとReduxとクリーンアーキテクチャと
databindingとRxとretrolamdaと全部学ばないといけないわけ?
敷居高杉ませんか
745デフォルトの名無しさん
2017/05/13(土) 08:08:27.52ID:JyAd7JIY MVVM含めアーキテクチャごっこをやること自体が目的なら全部学べよ。
Androidで開発しやすくしたいというのであれば、まずはData Bindingを使うことと、
APIの戻り/公開メンバとしてObservableを使ってみるところから始めろ。
DroidKaigiのアプリあたりを参考にしながら。
Androidで開発しやすくしたいというのであれば、まずはData Bindingを使うことと、
APIの戻り/公開メンバとしてObservableを使ってみるところから始めろ。
DroidKaigiのアプリあたりを参考にしながら。
746デフォルトの名無しさん
2017/05/13(土) 08:55:58.29ID:R5mpG+FZ build 2017と関係あるのかわからないけど、UWP関連でこんなもんが
https://github.com/Microsoft/WindowsTemplateStudio
https://developer.telerik.com/topics/net/announcing-windows-template-studio/
https://github.com/Microsoft/WindowsTemplateStudio
https://developer.telerik.com/topics/net/announcing-windows-template-studio/
747デフォルトの名無しさん
2017/05/13(土) 09:01:35.75ID:Hzzf9sbT droid kaigiですね。ありがとうございます。
他にMVVMの参考になる小規模なソースコードのgithubリンクとかないっすか
他にMVVMの参考になる小規模なソースコードのgithubリンクとかないっすか
748デフォルトの名無しさん
2017/05/13(土) 14:21:43.11ID:DOmFl3BV Android java MVVMで検索したら色々出てくるけど…
749デフォルトの名無しさん
2017/05/13(土) 17:26:38.50ID:Hzzf9sbT 画面遷移の処理とか結局viewでしかできないから、
view -> viewModel -> view
で行ったり来たりしてるのとかみると糞だなあと思う
view -> viewModel -> view
で行ったり来たりしてるのとかみると糞だなあと思う
750デフォルトの名無しさん
2017/05/13(土) 21:32:34.67ID:JyAd7JIY Presentation Coordinator
Navigation Service
なお、画面遷移の話とは別に、Androidの場合どうしてもActivity/Fragmentに
依存してしまう部分は出てくるから、その辺はあまり厳密に考えない方がいい。
Navigation Service
なお、画面遷移の話とは別に、Androidの場合どうしてもActivity/Fragmentに
依存してしまう部分は出てくるから、その辺はあまり厳密に考えない方がいい。
751デフォルトの名無しさん
2017/05/25(木) 12:23:45.13ID:7qHN/0ER VMとMの分割についてきちんと説明してくれてるサイトってあまりないけど、
基本的には全部Mに入れてVMはプロパティとしてMだけを持ってそれをVにバインドするってことでいいの?
大抵のサイトでは全部VMに入ってるけど
基本的には全部Mに入れてVMはプロパティとしてMだけを持ってそれをVにバインドするってことでいいの?
大抵のサイトでは全部VMに入ってるけど
752デフォルトの名無しさん
2017/05/25(木) 12:55:06.49ID:jD8c7u6v サイトは知らんが、一番しっくりくるなーと思う考えの一つは
MはDBなどのデータを格納する何か、もしくはデータそのもの。
VMはMからのデータを加工するものとVewとの橋渡しを分けてVMへ。
VはVewそのもの。
ってのが個人的に一番しっくりくる。
MはDBなどのデータを格納する何か、もしくはデータそのもの。
VMはMからのデータを加工するものとVewとの橋渡しを分けてVMへ。
VはVewそのもの。
ってのが個人的に一番しっくりくる。
753デフォルトの名無しさん
2017/05/25(木) 12:57:53.56ID:V6q89FWa viewそのものだとactivityがviewになるのは違和感がないか
754デフォルトの名無しさん
2017/05/25(木) 12:59:02.78ID:jD8c7u6v 違和感ある。
VMに入れたい。
VMに入れたい。
755デフォルトの名無しさん
2017/05/25(木) 14:34:21.13ID:CXNFHBlU756デフォルトの名無しさん
2017/05/25(木) 18:18:08.97ID:V6q89FWa VMがactivityの参照を持ったらだめだと聞いたが。。
Xamarinだとpageか
Xamarinだとpageか
757デフォルトの名無しさん
2017/05/26(金) 00:49:21.51ID:rlJlQaZI C=VMだとMVCと変わらんだろうが
758デフォルトの名無しさん
2017/05/26(金) 02:36:40.07ID:NvS9muX6 イメージとしてはCより広い範囲のものをぶち込んでMやVに余計な物置かないのがVMって思ってる。
基本MVCと変わらん。
Cじゃないのはどこに置くとか名前から混乱してる人多かったから、VでもMでも無いのは全部VMってした方が混乱は少ない。
基本MVCと変わらん。
Cじゃないのはどこに置くとか名前から混乱してる人多かったから、VでもMでも無いのは全部VMってした方が混乱は少ない。
759デフォルトの名無しさん
2017/05/26(金) 06:12:40.96ID:Xdie43+z MVVMのVはMVCのV+Cだよ
MVPのVとかと同じ
MVPのVとかと同じ
760デフォルトの名無しさん
2017/05/26(金) 06:38:23.57ID:OOmYkqkr MVVMのVって左から3番目のVのことですか
761デフォルトの名無しさん
2017/05/26(金) 07:01:45.39ID:Xdie43+z 2番目だよ
762デフォルトの名無しさん
2017/05/26(金) 12:30:06.83ID:fehtyedu めちゃ効率悪い作り方
763デフォルトの名無しさん
2017/05/26(金) 15:34:26.98ID:ZNc2U8qB MVVMってMVCより明確にしたもの
VMはCという漠然とした者じゃなくて
Viewに対応するオブジェクトそのもの。
だからVMのプロパティを変更することでViewに反映されるし
Viewで何か変更するとVMのプロパティに反映される。
双方向バインディングを使って実現する。
VMはCという漠然とした者じゃなくて
Viewに対応するオブジェクトそのもの。
だからVMのプロパティを変更することでViewに反映されるし
Viewで何か変更するとVMのプロパティに反映される。
双方向バインディングを使って実現する。
764デフォルトの名無しさん
2017/05/26(金) 19:26:58.74ID:GnitEmTF 全然進化してないな
765デフォルトの名無しさん
2017/05/26(金) 20:59:38.95ID:ovKX6RUR >>762
効率求めたらガチガチにVewと結びつくからな。
Vewが固定ならMVCもMVVMも要らない。
デスクトップやモバイルで中身同じだけどVewだけ違うとかだからMVCやMVVMが必要になる。
デスクトップとモバイルで同じ処理を別々に書くよりは全体では効率が良くなる。
特にモバイルが画面の大きさや画面比率が多様化してる昨今では。
効率求めたらガチガチにVewと結びつくからな。
Vewが固定ならMVCもMVVMも要らない。
デスクトップやモバイルで中身同じだけどVewだけ違うとかだからMVCやMVVMが必要になる。
デスクトップとモバイルで同じ処理を別々に書くよりは全体では効率が良くなる。
特にモバイルが画面の大きさや画面比率が多様化してる昨今では。
766デフォルトの名無しさん
2017/05/26(金) 21:03:56.89ID:ovKX6RUR767デフォルトの名無しさん
2017/05/26(金) 21:40:38.92ID:Xdie43+z >>766
そんなもん独自のわけないだろ
そんなもん独自のわけないだろ
768デフォルトの名無しさん
2017/05/26(金) 22:27:08.33ID:F2M8XGQu MVVMにおいてactivityはviewでいいんだよな?
769デフォルトの名無しさん
2017/05/26(金) 23:41:27.21ID:ZNc2U8qB 更にいうとMVVMをさらに発展と言うか破綻しづらいようにしたのが
flux。MVVMのVMは双方向バインディングだけど
fluxの場合は、Viewの変更は直接VMに反映しない方針。つまり片方向バインディングに限定した。
その代わりVMへの変更関連をActionに集約して
Action -> State(VMに対応) -> View ->Action
と片方向への情報の流れに限定したのがflux
flux。MVVMのVMは双方向バインディングだけど
fluxの場合は、Viewの変更は直接VMに反映しない方針。つまり片方向バインディングに限定した。
その代わりVMへの変更関連をActionに集約して
Action -> State(VMに対応) -> View ->Action
と片方向への情報の流れに限定したのがflux
770デフォルトの名無しさん
2017/05/27(土) 02:57:55.41ID:V3ffhZkY >MVC時代は相変わらずクラス側でVewのプロパティに代入してもVewは古い値を表示したまま
糞Windowsだけだろω
糞Windowsだけだろω
771デフォルトの名無しさん
2018/05/23(水) 23:07:17.16ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
USCRF
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
USCRF
772デフォルトの名無しさん
2018/07/04(水) 23:01:58.94ID:gFgZc5FG QIC
773デフォルトの名無しさん
2018/07/06(金) 12:35:20.43ID:uTPDH9XV USCRF
774デフォルトの名無しさん
2019/01/28(月) 14:30:35.46ID:2/HZJEKq LivetとPrismとはなんだったのか
775デフォルトの名無しさん
2019/01/28(月) 22:53:33.32ID:ELKeaiTx Livetは使った事ないから知らんがWPF開発には色々便利なものあったらしいしPrismも便利なとこあるんじゃないの
自分は使わんけど
自分は使わんけど
776デフォルトの名無しさん
2019/01/30(水) 03:07:28.56ID:nTVyoRLY 知らんなら答えなくて良いんじゃね?
777デフォルトの名無しさん
2019/01/30(水) 10:24:55.23ID:g/bNoaAl 評判は聞いてたからその範囲で教えてあげてんだけど?
無知すぎるボンクラは逝ってどうぞ
無知すぎるボンクラは逝ってどうぞ
778デフォルトの名無しさん
2019/01/30(水) 10:35:20.87ID:MXCEKHH4 Prism.Unityは、UWP版のほうがシンプルでかつ十分な機能で良いんだけど
wpf版もあっち基準に改善したら良いのにな
wpf版もあっち基準に改善したら良いのにな
779デフォルトの名無しさん
2019/01/30(水) 12:36:56.89ID:m67rAUwN https://teratail.com/questions/140681
MVVMやってるのこんなのばっかりだからな死滅すればいいよ
MVVMやってるのこんなのばっかりだからな死滅すればいいよ
780デフォルトの名無しさん
2019/01/30(水) 12:37:12.23ID:m67rAUwN ハイハイ理解できないから終了ね
781デフォルトの名無しさん
2019/01/30(水) 12:38:11.42ID:m67rAUwN782デフォルトの名無しさん
2019/01/30(水) 12:43:13.60ID:eltFPQSh783デフォルトの名無しさん
2019/01/30(水) 14:39:06.71ID:g/bNoaAl 無知が顔真っ赤にしてテラワロス
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【おこめ券】物価高対策の“おこめ券”全米販は1枚477円で販売へ 鈴木農水大臣「国民の皆様に活用いただきやすいよう工夫いただいた」★2 [ぐれ★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★5 [蚤の市★]
- 神田沙也加さん元恋人で元俳優の前山剛久 六本木のメンズラウンジ勤務を報告「真叶(まなと)です。よろしく」 [muffin★]
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 ★5 [蚤の市★]
- 【埼玉】54歳男性死亡…菓子店で機械に挟まれる 昼前に1人で作業中、あんを混ぜる“かくはん機”に巻き込まれ…女性従業員が発見 入間 [ぐれ★]
- 【麻雀】プロ雀士の岡田紗佳さんが勝訴、点数計算めぐる発言は「違法とは言えず」 大宮簡裁 [征夷大将軍★]
- ムミィ🥺いる❓🏡
- ママカースト、地獄すぎるwwwwwwwwwwwwwwwwwwwww [977790669]
- 【高市悲報】片山さつき「かじ取り間違えてデフレになったらどうすんの!😡」😲 [359965264]
- 建設作業員(27)男子高校生のうんこを盗撮し逮捕 [389326466]
- 日本を破壊した総理大臣ほど支持率高くない?小泉、安倍、高市
- 逆に、これは中国産に限るっていうもの [331823419]
