X



MVVMについて語ろう
■ このスレッドは過去ログ倉庫に格納されています
0784デフォルトの名無しさん
垢版 |
2019/02/05(火) 22:13:49.20ID:y7JCcM6u
>>783
無知が顔真っ赤にしてテラワロスっておまw
そんなんがほんとに面白い人とかいるのかね
MVVMはどこいったのw
スレタイと何も関係ない書き込みしちゃって頭おかしくないのボンクラwwww
0785デフォルトの名無しさん
垢版 |
2019/02/05(火) 22:15:30.79ID:y7JCcM6u
いやテラワロスってのはMVVMなんだろうな
無知なのでわからんわ
0786デフォルトの名無しさん
垢版 |
2019/02/05(火) 22:50:39.27ID:sDFzuzWu
>>779
>INotifyPropertyChanged はバインド専門ではありません。

これって詭弁だよね
MVVM使う時点で通常のモデルにすると不便だからINotifyPropertyChanged使うだけ
0787デフォルトの名無しさん
垢版 |
2019/02/05(火) 22:57:59.44ID:sDFzuzWu
MVVMじゃない設計で作られた モデル、ビジネスロジックがあってそれをMVVMで使う場合どうすんの?ってことなんだろうけど
もう一層外からくるんだだけじゃうまくいかないからほとんどを作り直しすることになるんじゃないかな?
0788デフォルトの名無しさん
垢版 |
2019/02/06(水) 02:16:42.38ID:ar/eio3d
>>784
何日も前のに突然どうしたw

>>786
MMV間は好きにすればいいかと
自分はわざわざMでINotifyPChangedなんか使わんけど
0789デフォルトの名無しさん
垢版 |
2019/02/06(水) 09:39:48.85ID:DbH07QrE
俺なんかMVCすらよくわかんないな
Webは兎も角、それ以外はMVCだと言われてるアプリを見てもCからVを書き換えてるのだらけに見えちゃうんだな
これでいいんか?それとも世の大半が間違えてるのか?どっちなんだ
0790デフォルトの名無しさん
垢版 |
2019/02/06(水) 12:24:14.98ID:ar/eio3d
Cからvだけでしかないってのはダメだと思うが、結局その場合にちょうどいい程度に疎結合になってればいいと思うけどね
自分はMVにロジックも詰め込んで、でかくなってきたらMにする程度でやってる
0791デフォルトの名無しさん
垢版 |
2019/02/11(月) 03:23:52.16ID:h3xrvU+a
いつも疑問なんだけどMVVMでダイアログ表示するときなんでVMでShowDialog()しちゃいかんの?
MessengerでViewに送ってコールバックでってやるよりもVMをDataContextにぶっこんで直接操作したほうがわかりやすくない?
0792デフォルトの名無しさん
垢版 |
2019/02/11(月) 04:01:02.71ID:KW1QXsfq
>>791
MVVMのVMは、UIへの依存を排除することを試みるパターン。
なので、直接呼んで良いかと問われればNo

UIの知識に起因する処理を行いたいのであれば、UIから提供されたインターフェースを介してUI操作を行うMVPの採用を検討する。

結局のところ、MV*の違いは責任範囲の違いだけであり、MVPがMVVMよりV寄りに広いパターンなので、MVVMをベースにMVPにしても構わない。

ただしその場合、混乱の元なのでMVVMとは呼称すべきではない。
0793デフォルトの名無しさん
垢版 |
2019/02/11(月) 12:20:24.20ID:YckZaLLU
>>791
ぶっ込んで直接操作が何を指してるのかわからん。
そのダイアログを表示がらみだと思うけどもうちっと具体的に言ってくれ。
元のViewと対応したVMがあったとして、そこからダイアログ表示させる場合でいいんだよね?
0794デフォルトの名無しさん
垢版 |
2019/02/11(月) 13:34:01.09ID:NWPg0Oyv
>>793
すまん、説明が悪かったかも
あと無意識にWPFを前提に話してしまっていた

MainWindow
MainWindowViewModel
MainWindowModel

DialogWindow
DialogWindowViewModel

があったとしてMainWindowのボタン押下をトリガーにDialogWindowを表示したいとする
でWPFの昨日でVMにコマンドバインディングしていたボタンの処理の中で
DialogWindowのDataContextにDialogWindowViewModelを入れる
→MainWindowViewModelの中でDialogWindowのインスタンスを生成する

みたいな感じ
0795デフォルトの名無しさん
垢版 |
2019/02/11(月) 15:12:43.09ID:QkJqimZ7
VMからVを直接生成するのは禁じ手かと
てスタビリティーが担保できない
0796デフォルトの名無しさん
垢版 |
2019/02/16(土) 02:23:43.23ID:9HG1VuDS
7年前から何も状況変わってなくてワロス
0797デフォルトの名無しさん
垢版 |
2019/02/16(土) 02:52:06.72ID:9HG1VuDS
https://teratail.com/questions/74961
わからないやつは使うな!
でほんとに使わなかったケースが多かっただけみたいだな
ユーザーの質がほんとひどい
難しい案件でだけ使えばいいがな
0798デフォルトの名無しさん
垢版 |
2019/02/16(土) 09:30:22.31ID:9K5d8FVn
自分は自分で作るちょいアプリでも使ってるけどな
といってもVM膨らませてMもそこでやってて、ややこしくなったら分離させてるだけだけど
0799デフォルトの名無しさん
垢版 |
2019/02/16(土) 19:22:44.93ID:PhVDH7kZ
WPF+MVVMはテストがつらい
M、VMでテストが出来てても実際にVでうまく動くかは全然わからない
0800デフォルトの名無しさん
垢版 |
2019/02/16(土) 20:37:11.87ID:9K5d8FVn
>>799
ん?それほかのUIフレームなら出来るん?
0801デフォルトの名無しさん
垢版 |
2019/02/16(土) 20:48:59.47ID:mveZudXk
アプリケーションのテストとしてはVM-M間で十分だと思うがな。
V-VM間はデータバインディングが意図通りか確認する程度だし。
少なくともFormsよりだいぶUIに近いところまで自動テストできるようになった。
0802デフォルトの名無しさん
垢版 |
2019/02/17(日) 03:18:26.01ID:xGFF6jRx
>>799
ViewはMVの状態をそのまま表示するだけってのが理想だからね
セレニウムだっけ?WEBでのUIテスト出来る奴とかあるかもだけど、自動テストでそこまでの工数かけるのちときつくね?
VMのテストならプログラム的にしやすいからまだわかる
0803デフォルトの名無しさん
垢版 |
2019/03/17(日) 03:07:47.90ID:ZfsC9V3u
>>698
バカには使えないありがたいアーキテクチャなので
普及とかはどうでもいい話だった
0808デフォルトの名無しさん
垢版 |
2019/03/17(日) 23:43:40.49ID:F89k9A+v
結局、ビュー寄りのモデルを作るという発想は90年代初頭にVisualWorksで提唱されていたんじゃないかと。
0809デフォルトの名無しさん
垢版 |
2019/03/18(月) 01:01:31.84ID:Y1evCyMB
まあその結論で合っているんだけど

ただValueHolderとかのアダプターはあくまで
ApplicationModelのプロパティでデータバインドを実現するための道具に過ぎないので
https://matarillo.com/general/uipatterns.php#p3

MVVMとの類似性に言及するのであれば
Pluggable MVCではなく「ApplicationModelアーキテクチャ」と表現する方が誤解が無くてよいと思う
http://wiki.c2.com/?ModelModelViewController
0810デフォルトの名無しさん
垢版 |
2019/03/18(月) 01:37:38.06ID:QCOM2t0u
もともとMVCとかでごちゃごちゃしてきたところにMVVMってことなんだろうな
デスクトップアプリに当てはめるのは微妙だったよ
0812デフォルトの名無しさん
垢版 |
2019/03/18(月) 09:45:01.81ID:npgehNDX
デスクトップに当てはめるのが微妙ってのは何だ?仮想Dom的なものがあればおさまる話?

あとMVVMはMVCを改良したってよりもXAMLのバインディング気候に合わせたって側面の方が強いと思うがな
それを改良と言えばそうだけど
0814デフォルトの名無しさん
垢版 |
2019/03/19(火) 03:35:07.74ID:3jNcVOgT
実装者の能力不足が問題になるということは設計パターンが悪いんだろ
本当に理解してるか確認するが難しいようなのもダメだ
0816デフォルトの名無しさん
垢版 |
2019/03/19(火) 22:06:06.31ID:+Ccy7x/V
>>815
楽できるかどうかじゃなくて、
画面を直接触らずに済むかどうかの問題だろ。
0818デフォルトの名無しさん
垢版 |
2019/05/30(木) 12:04:36.21ID:v6SxCCrX
暇だから数年ぶりにWPFでも触ってみようかなと思ってるけど、
乱立してた結局MVVMライブラリって結局何かに統一された?
Livetは死んでしまったみたいだねw
個人的には応援してだけど
0822デフォルトの名無しさん
垢版 |
2019/07/27(土) 02:26:32.72ID:0sBDs5f5
むっちゃ初歩的なところの質問になってしまうのですが、
WPF + Prismの環境で、画像ファイル(png)をウインドウ内にタイル状に並べたいのですが、
単体でパスをSourceに指定して、Converterを通して表示、までは出来たのですが、
これをListView上でおこなおうとすると、ListviewにBindingしているObservableCollectionにAddしても、
画像が表示されません。
何かわかりやすいサンプルや、チュートリアルなどありませんでしょうか?
0823デフォルトの名無しさん
垢版 |
2019/07/27(土) 03:17:09.73ID:l8PDbbg2
>>822
チュートリアルは知らんが、リストにテキストやボタンは表示できるの?
出来るなら今単体でコレクションの要素とビューテワやってる関係を同じようにするだけだけど
0825デフォルトの名無しさん
垢版 |
2019/11/01(金) 18:07:00.51ID:hqW7WiA1
>>822
どんな見た目作りたいの?
0826デフォルトの名無しさん
垢版 |
2020/07/02(木) 15:07:15.93ID:WhLcbIiC
MMVMで言語を作る!
0827デフォルトの名無しさん
垢版 |
2020/07/02(木) 17:47:32.50ID:WhLcbIiC
LLVMと勘違いした
0828デフォルトの名無しさん
垢版 |
2021/01/27(水) 11:51:54.98ID:cJSBZXf9
てす
0829デフォルトの名無しさん
垢版 |
2021/01/27(水) 23:40:32.54ID:7/w7pDgL
Win Formsでやってる人いますか?
datagridviewで値によってセルの色を変える場合、どのようにしてますか?
0830デフォルトの名無しさん
垢版 |
2021/01/28(木) 01:44:53.83ID:aQj0oWVr
>>829
BindingListへの追加・変更・削除がイベントで拾えるので、
そのイベントハンドラで状態に応じてセル変更すればいいんじゃね?

汎用化するのであれば、BindingListを[M]、Gridを[V]とみなし、
その間を取り持つPresenterに移譲させるMVPパターンにするとかか

めんどくさがりやなので、前者でお茶を濁すかなぁ
0831デフォルトの名無しさん
垢版 |
2021/01/29(金) 20:29:07.30ID:czxZDJRE
MVVMはバインディングを活用するために考案されたパターンなので、WinFormsでは実践できません
0834デフォルトの名無しさん
垢版 |
2021/04/06(火) 11:03:35.23ID:A0Gb+cSU
MVVM おっそ。
イベント発生元からトンネル経由しない前に捕まえて、View->ViewModelのイベントデリゲート呼ぶのが一番速い。
Commnad Bindingなんか使ってられない。 遅くて・・・
■ このスレッドは過去ログ倉庫に格納されています

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