Windows Presentation Frameworkについて語るスレ。
前スレ
WPF(.NET4.x, .NET Core) GUIプログラミング Part25
https://mevius.5ch.net/test/read.cgi/tech/1612522463
関連スレ
Windows 10 UWPアプリ開発 Part 2
http://mevius.2ch.net/test/read.cgi/tech/1499658092/
コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/
探検
WPF(.NET, WinUI) GUIプログラミング Part26
■ このスレッドは過去ログ倉庫に格納されています
2021/06/20(日) 17:04:18.66ID:7UVkl7BZ
389デフォルトの名無しさん
2021/07/07(水) 19:54:05.96ID:aJu+QZ75 >>376みたいな人間がUXを語るべきじゃないな
感性も腐ってそう
感性も腐ってそう
390デフォルトの名無しさん
2021/07/07(水) 20:56:03.54ID:85qcEXGX 開発者のエゴイズム丸出しでいかにもWPF好きらしくていいじゃん
391デフォルトの名無しさん
2021/07/07(水) 21:01:06.97ID:opTZ3hwS WPFって見た目がカラフルでもUIデザインの基本的なプロトコルはクラシックなWinアプリのままなんで、
画面遷移とか作り込んで完全にWebやスマホ風にしてしまうのでもない限りは即時反映はかえって混乱を招くと思う
画面遷移とか作り込んで完全にWebやスマホ風にしてしまうのでもない限りは即時反映はかえって混乱を招くと思う
392デフォルトの名無しさん
2021/07/07(水) 21:03:20.07ID:aJu+QZ75 彼はむしろWPFアンチだよ
冗長くんだもん
冗長くんだもん
393デフォルトの名無しさん
2021/07/07(水) 22:28:03.79ID:SoF9c5HC >>388
バインディングの都合を満たすのはVMの仕事で、Mの独立を保つ為に犠牲になる係でしょ?
バインディングの都合を満たすのはVMの仕事で、Mの独立を保つ為に犠牲になる係でしょ?
394デフォルトの名無しさん
2021/07/07(水) 23:12:07.60ID:1XrHuH3i しかし、Modelの一部をINotifyPropertyChangedやReactivePropertyに変えるなど
規模にもよるが小一時間の仕事だろうに
使いたくない理由を無理やり探しているんだろうね
規模にもよるが小一時間の仕事だろうに
使いたくない理由を無理やり探しているんだろうね
395デフォルトの名無しさん
2021/07/07(水) 23:14:24.01ID:O/p4KsNN INotifyPropertyChangedなんてWinFormでも使うだろうに
何のためのモデルクラスだったんだろう
何のためのモデルクラスだったんだろう
396デフォルトの名無しさん
2021/07/08(木) 07:47:22.54ID:/EVL8M+q397デフォルトの名無しさん
2021/07/08(木) 07:53:01.19ID:0NJb5JqL WPF使う場合はやはりモデルから対応しなければならない
それが嫌なので躊躇してしまう
モデルが依存関係を除去したところでINotifyPropertyChanged実装しないといけない
それが嫌なので躊躇してしまう
モデルが依存関係を除去したところでINotifyPropertyChanged実装しないといけない
398デフォルトの名無しさん
2021/07/08(木) 07:57:14.43ID:hcvY/pCa399デフォルトの名無しさん
2021/07/08(木) 11:13:00.38ID:h5za3xa1 MVVMで作ればINotifyPropertyChanged実装しなきゃいけないのはUIとバインドするViewModelだけだぞ
ModelをObservableにしたければ、独自のObservableインターフェース使えたければ使えばいいじゃん
Modelは無理にINotifyPropertyChanged使う必要はない
ModelをObservableにしたければ、独自のObservableインターフェース使えたければ使えばいいじゃん
Modelは無理にINotifyPropertyChanged使う必要はない
400デフォルトの名無しさん
2021/07/08(木) 11:17:20.04ID:h5za3xa1 つか、要件としてModelをObservableにするならUIフレームワーク関係なく
何かしらのObservableインターフェースが必要になってくるんだが
他のフレームワーク、言語使っても同じなんだが頭大丈夫??
何かしらのObservableインターフェースが必要になってくるんだが
他のフレームワーク、言語使っても同じなんだが頭大丈夫??
401デフォルトの名無しさん
2021/07/08(木) 11:40:47.13ID:dQrLp+p1 そのへんフィールドをプロパティにするだけで全部やってくれてたらもっとユーザー増えただろうな
402デフォルトの名無しさん
2021/07/08(木) 11:43:27.90ID:h5za3xa1 INotifyPropertyChangedの実装がWPF特有の問題だと思ってるあたりが頭おかし
他のUIフレームワークでもモデルの変更に応じてUI変えるなら、Observeする仕組みが必要でINotifyPropertyChangedに相当する機能をどのみち実装しなきゃいけないのに
>>396,397
君は他のUIフレームワーク使ったときにどうやって実装するわけ??
他のUIフレームワークでもモデルの変更に応じてUI変えるなら、Observeする仕組みが必要でINotifyPropertyChangedに相当する機能をどのみち実装しなきゃいけないのに
>>396,397
君は他のUIフレームワーク使ったときにどうやって実装するわけ??
403デフォルトの名無しさん
2021/07/08(木) 12:47:08.14ID:hcvY/pCa404デフォルトの名無しさん
2021/07/08(木) 12:57:43.95ID:h5za3xa1 そういうフレームワークの具体例を1個上げて
405デフォルトの名無しさん
2021/07/08(木) 13:10:14.80ID:/EVL8M+q >>402
WPFみたいなバインディングはしません
WPFみたいなバインディングはしません
406デフォルトの名無しさん
2021/07/08(木) 13:15:55.68ID:h5za3xa1 >>405
WPFみたいなバインディングしなくてもモデルをObservableにするならどの道何らかのインターフェースが必要になるって話をしてるんですけど理解してますでしょうか??
WPFみたいなバインディングしなくてもモデルをObservableにするならどの道何らかのインターフェースが必要になるって話をしてるんですけど理解してますでしょうか??
407デフォルトの名無しさん
2021/07/08(木) 13:26:17.14ID:UhDpZcYs >>398
通知のためだけのインターフェースがボコボコ増えてくのが嫌だからさ
全てRxのIObservableならよかったな
つかWPFもバインディングエンジンの部分をプラガブルにしろよな
なんでINotifyPropertyChangedみたいなクソにしがみついてるのか理解しかねるね
通知のためだけのインターフェースがボコボコ増えてくのが嫌だからさ
全てRxのIObservableならよかったな
つかWPFもバインディングエンジンの部分をプラガブルにしろよな
なんでINotifyPropertyChangedみたいなクソにしがみついてるのか理解しかねるね
408デフォルトの名無しさん
2021/07/08(木) 13:27:17.81ID:UhDpZcYs てか今後新しい通知インターフェースを宣言した奴は死刑でいいよ
殺す
殺す
409デフォルトの名無しさん
2021/07/08(木) 13:31:44.36ID:WFCJSrYx 趣味でやってるだけだからよくわからんけど同じプロパティー2回書かせるのやめてくれ
めんどくさい
めんどくさい
410デフォルトの名無しさん
2021/07/08(木) 13:37:39.15ID:hcvY/pCa411デフォルトの名無しさん
2021/07/08(木) 13:43:42.57ID:h5za3xa1 .net mauiのMVUってINotifyPropertyChangedの仕組み乗っかるの??
ブログの例ではState<T>とかあるけど
State<T>ならjetpack composeと同じやん
ブログの例ではState<T>とかあるけど
State<T>ならjetpack composeと同じやん
412デフォルトの名無しさん
2021/07/08(木) 13:52:37.12ID:/EVL8M+q >>406
だからバインディングはVVMまででいいって言ってんじゃん
だからバインディングはVVMまででいいって言ってんじゃん
413デフォルトの名無しさん
2021/07/08(木) 13:54:52.32ID:icewyiWh これでいいじゃん。using追加してAnnotation付けるだけだよ
https://www.reactiveui.net/docs/handbook/view-models/boilerplate-code
[Reactive]
public string Name { get; set; }
https://www.reactiveui.net/docs/handbook/view-models/boilerplate-code
[Reactive]
public string Name { get; set; }
414デフォルトの名無しさん
2021/07/08(木) 13:55:12.53ID:Y0QirsOb まあ他の言語のFWはばかでも書けるけど、
ことWPF含めMS主導のは一部の細かい主張に答えるためか、
やることが回りくどいんだよな
FW使ってるのに書くことが多いと言うか
ことWPF含めMS主導のは一部の細かい主張に答えるためか、
やることが回りくどいんだよな
FW使ってるのに書くことが多いと言うか
415デフォルトの名無しさん
2021/07/08(木) 14:00:41.26ID:h5za3xa1416デフォルトの名無しさん
2021/07/08(木) 14:05:52.94ID:/EVL8M+q >>415
うわ頭悪そう
うわ頭悪そう
417デフォルトの名無しさん
2021/07/08(木) 14:35:39.28ID:zQs4IMMf418デフォルトの名無しさん
2021/07/08(木) 14:48:13.57ID:h5za3xa1 >>417
それ全然違うから...
それ全然違うから...
419デフォルトの名無しさん
2021/07/08(木) 14:51:52.72ID:zQs4IMMf420デフォルトの名無しさん
2021/07/08(木) 14:57:32.77ID:h5za3xa1421デフォルトの名無しさん
2021/07/08(木) 16:00:11.32ID:zQs4IMMf422デフォルトの名無しさん
2021/07/08(木) 18:03:12.85ID:hcvY/pCa423デフォルトの名無しさん
2021/07/08(木) 18:32:35.94ID:0NJb5JqL h5za3xa1は世間知らずのWPF至上主義者なんだ
許してやれとは言わないが冷たい目で見ればいいよ
許してやれとは言わないが冷たい目で見ればいいよ
424デフォルトの名無しさん
2021/07/08(木) 18:33:09.06ID:hcvY/pCa425デフォルトの名無しさん
2021/07/08(木) 18:35:59.60ID:0NJb5JqL ここからまたプロパティで書くべきかどうかみたいな話になるのだろうか
recordの仕様と実装が中途半端だから解決法にならない
recordの仕様と実装が中途半端だから解決法にならない
426デフォルトの名無しさん
2021/07/08(木) 18:45:37.60ID:hcvY/pCa >>404
実はWPFでもstaticだけはObservableの実装無しでいけたりします。
なのでModelの直バインドも可能です。
更新はコントロールを強制再描画すれば良い。
case: WPF(static only)
<TextBox Text={x:static viewModel.value1}/>
実はWPFでもstaticだけはObservableの実装無しでいけたりします。
なのでModelの直バインドも可能です。
更新はコントロールを強制再描画すれば良い。
case: WPF(static only)
<TextBox Text={x:static viewModel.value1}/>
427デフォルトの名無しさん
2021/07/08(木) 19:30:36.43ID:3cBmXvB1 なんでView-ViewModelのバインディングの事例を並べてるの?
Modelの話じゃなかったっけ
Modelの話じゃなかったっけ
428デフォルトの名無しさん
2021/07/08(木) 19:48:49.81ID:0NJb5JqL person.Nameみたいなのにバインディングされていて
Name変更時に通知する仕組みはモデルの責任じゃないけどそれが必要になる
他のフレームワークのように別の仕組みが通知するのが普通
WPFは普通じゃないし劣っている
Name変更時に通知する仕組みはモデルの責任じゃないけどそれが必要になる
他のフレームワークのように別の仕組みが通知するのが普通
WPFは普通じゃないし劣っている
429デフォルトの名無しさん
2021/07/08(木) 20:03:20.69ID:h5za3xa1430デフォルトの名無しさん
2021/07/08(木) 20:04:13.12ID:h5za3xa1 >>426宛ね
431デフォルトの名無しさん
2021/07/08(木) 20:26:48.87ID:/EVL8M+q 引っ込みつかなくなって可哀想
432デフォルトの名無しさん
2021/07/08(木) 20:35:30.05ID:h5za3xa1433デフォルトの名無しさん
2021/07/08(木) 20:42:51.18ID:0NJb5JqL person.Name見たいのはいつ変更したかなどはわかりやすいが
普通のクラスなどはいつどこで更新したのかが非常に追いにくい
目視でバグが確認できたとしてそれがどこで変更されてるのかがわかりにくい
バグがつぶしにくい
普通のクラスなどはいつどこで更新したのかが非常に追いにくい
目視でバグが確認できたとしてそれがどこで変更されてるのかがわかりにくい
バグがつぶしにくい
434デフォルトの名無しさん
2021/07/08(木) 20:51:56.44ID:h5za3xa1 とりあえず、
読解力ないバカが多すぎってのだけはわかった
読解力ないバカが多すぎってのだけはわかった
435デフォルトの名無しさん
2021/07/08(木) 21:02:34.08ID:/EVL8M+q やったじゃん
俺以外みんなバカ宣言して精神的勝利だ
俺以外みんなバカ宣言して精神的勝利だ
436デフォルトの名無しさん
2021/07/08(木) 21:07:38.15ID:FRcNf1lv まぁ「俺の言いたいことを理解してくれない奴」は多いよな、いつでも。
437デフォルトの名無しさん
2021/07/08(木) 21:17:18.89ID:UhDpZcYs 真の天才は死んでから評価されるのさ
438デフォルトの名無しさん
2021/07/08(木) 22:41:40.59ID:j2+tCvGN Mに変更通知機能無いって大変そうだな
439デフォルトの名無しさん
2021/07/08(木) 23:02:26.20ID:hcvY/pCa >>変更時に通知する仕組み
MVVMだから変更を監視する巧妙な仕組みがあって
(フレームワークによって思想が違う)
その仕様にのっとって適時勝手にバインドが動作する
のでコードは増えない
MVVMだから変更を監視する巧妙な仕組みがあって
(フレームワークによって思想が違う)
その仕様にのっとって適時勝手にバインドが動作する
のでコードは増えない
440デフォルトの名無しさん
2021/07/08(木) 23:53:25.76ID:SSutR7CK MをPOCOで作りたがる人いるよね。通知を実装するのも嫌がる。
441デフォルトの名無しさん
2021/07/09(金) 00:11:25.67ID:hwC1YyL2 個人的には
(client: view, view-model)~network~(service: model)
としてる
入力バリデーションもmodelのみだ
へんかな?
(client: view, view-model)~network~(service: model)
としてる
入力バリデーションもmodelのみだ
へんかな?
442デフォルトの名無しさん
2021/07/09(金) 00:39:31.73ID:fR2pG3Vk443デフォルトの名無しさん
2021/07/09(金) 07:02:13.37ID:/l05Ymia >>442
いや、WPFのMもPOCOで作るのが常識。
いや、WPFのMもPOCOで作るのが常識。
444デフォルトの名無しさん
2021/07/09(金) 16:02:03.33ID:pQ/i3/CL 朕はPOCOなり
445デフォルトの名無しさん
2021/07/10(土) 01:49:25.85ID:Is4zF1A7 ふーん
POCOでModel変更感知するのって面倒じゃない?
POCOでModel変更感知するのって面倒じゃない?
446デフォルトの名無しさん
2021/07/10(土) 01:58:32.76ID:ZqXyUc92 POCOってなーに?
447デフォルトの名無しさん
2021/07/10(土) 06:16:51.11ID:321/A5HW Modelで変更通知なんかしない。
VMとMの区分けすらできないならMVVMで作らなきゃいいのに。
VMとMの区分けすらできないならMVVMで作らなきゃいいのに。
448デフォルトの名無しさん
2021/07/10(土) 09:14:28.45ID:nAGZi/ZP 田舎者がなんか言ってるぞ
449デフォルトの名無しさん
2021/07/10(土) 09:27:48.37ID:Rzopl14C >>447
Modelの変更はどうやってViewModelやViewに反映されるの?
Modelの変更はどうやってViewModelやViewに反映されるの?
450デフォルトの名無しさん
2021/07/10(土) 09:43:48.41ID:16vz6VAu PODのようなものと混同してんのかな。
POxOから外部に何らかの通知をするのは別に普通だろ。依存の方向とか強くなりすぎるなとか一般的な注意をするだけ。
POxOから外部に何らかの通知をするのは別に普通だろ。依存の方向とか強くなりすぎるなとか一般的な注意をするだけ。
451デフォルトの名無しさん
2021/07/10(土) 10:05:00.92ID:9ZKehVN0 >>449
Reduxならプロパティ変更イベントは必要ないよ
Reduxならプロパティ変更イベントは必要ないよ
452デフォルトの名無しさん
2021/07/10(土) 10:17:17.62ID:Rzopl14C453デフォルトの名無しさん
2021/07/10(土) 10:21:20.73ID:Cpxz5fTv M自身が能動的に処理を行うことは無い。
Mに対してはVMから変更かける。通信やDB操作は外部プログラム(dll等)の役目だし、
ちょっと規模が大きいアプリなら外部通信などの処理は別プロジェクト(dll)にまとめられてるはずだろ?
外部プログラムが何らかの処理してMを変更し、外部プログラムの処理結果はVMでイベントハンドリングして
UIを更新する
Mに対してはVMから変更かける。通信やDB操作は外部プログラム(dll等)の役目だし、
ちょっと規模が大きいアプリなら外部通信などの処理は別プロジェクト(dll)にまとめられてるはずだろ?
外部プログラムが何らかの処理してMを変更し、外部プログラムの処理結果はVMでイベントハンドリングして
UIを更新する
454デフォルトの名無しさん
2021/07/10(土) 10:29:02.22ID:Cpxz5fTv VとVMで1つのプロジェクト(UI担当)
Mと通信処理などをまとめて1つのプロジェクト(System.Windowsを参照しなければ汎用ライブラリ)として
.net core等でも使用可能)
もちろんVMからSQL文を発行することもある
日曜大工レベルのアプリならVMの中で通信処理などビジネスロジックを全て含める
Mと通信処理などをまとめて1つのプロジェクト(System.Windowsを参照しなければ汎用ライブラリ)として
.net core等でも使用可能)
もちろんVMからSQL文を発行することもある
日曜大工レベルのアプリならVMの中で通信処理などビジネスロジックを全て含める
455デフォルトの名無しさん
2021/07/10(土) 10:37:32.94ID:16vz6VAu >>452
更新されたMが自発的にイベントを発火するか、VからMを更新するアクションが発生する毎に更新後のMの値を取りに行くかの違い。
flux/reduxのような一方向データフローでモデル更新がシリアライズされているから実用になること。
更新されたMが自発的にイベントを発火するか、VからMを更新するアクションが発生する毎に更新後のMの値を取りに行くかの違い。
flux/reduxのような一方向データフローでモデル更新がシリアライズされているから実用になること。
456デフォルトの名無しさん
2021/07/10(土) 10:54:10.61ID:Rzopl14C V以外からMが更新される場合は、Mを更新した処理とVMが強く結合されるってことね
457デフォルトの名無しさん
2021/07/10(土) 10:56:13.18ID:KTvmhX8f Mの発火をVMが受け取りまた発火、Vが描画とか手間かかるしチームで案件やってると教育コストもかかる。
技術に疎いマネージャーだとクリックイベントに全部書けやとか言ってくるんだよね。
技術に疎いマネージャーだとクリックイベントに全部書けやとか言ってくるんだよね。
458デフォルトの名無しさん
2021/07/10(土) 11:07:48.66ID:16vz6VAu >>456
flux/reduxについて言えばアクション自体への結合は不要。
基本的にMは全部単一のストアにまとめられていて、どこかが更新されるアクションが発生したら全員でMの更新を見に行くような感じ。
flux/reduxについて言えばアクション自体への結合は不要。
基本的にMは全部単一のストアにまとめられていて、どこかが更新されるアクションが発生したら全員でMの更新を見に行くような感じ。
459デフォルトの名無しさん
2021/07/10(土) 11:09:30.03ID:owBtnLy3 >>456
モデルにぶら下がってるVMはフレームワークが把握しているから、フレームワークにMの更新メッセージを投げるだけだよ
モデルにぶら下がってるVMはフレームワークが把握しているから、フレームワークにMの更新メッセージを投げるだけだよ
460デフォルトの名無しさん
2021/07/10(土) 11:13:06.20ID:owBtnLy3 なおMのどのプロパティが更新されるかの特定も不要で、VMはあくまでMの現在の状態に対する関数として更新後のV全体を出力するだけでいい
あとはフレームワークがよしなに差分を取って変更を反映してくれる
あとはフレームワークがよしなに差分を取って変更を反映してくれる
461デフォルトの名無しさん
2021/07/10(土) 11:14:26.03ID:Is4zF1A7 Mへの更新は全部フレームワーク経由で実施するってことか
フレームワーク君頑張るなw
フレームワーク君頑張るなw
462デフォルトの名無しさん
2021/07/10(土) 11:17:08.14ID:2DdNTqcD463デフォルトの名無しさん
2021/07/10(土) 11:26:26.12ID:uwFcR1va ちなみに>>453,454はただのMVVMだよね??
464デフォルトの名無しさん
2021/07/10(土) 11:28:40.75ID:Rzopl14C V以外でのMの更新自体はM寄りの処理だよね
Mの各プロパティから個別に更新通知が行くか、代表して更新通知が行くかの違いであって
Modelからの変更通知が無いってのはちょっと違うな
Mの各プロパティから個別に更新通知が行くか、代表して更新通知が行くかの違いであって
Modelからの変更通知が無いってのはちょっと違うな
465デフォルトの名無しさん
2021/07/10(土) 11:35:14.88ID:owBtnLy3466デフォルトの名無しさん
2021/07/10(土) 11:43:48.27ID:Is4zF1A7 >>462
フレームワークはMが更新されたことをどうやって知るの?
フレームワークはMが更新されたことをどうやって知るの?
467デフォルトの名無しさん
2021/07/10(土) 12:19:02.06ID:uwFcR1va >>466
ああ、わかったただのMVVMの変種か
今までだって、MVVMで作ってた時はModelでimmutableなのをあったけど、
イメージとしてModelを全部immutableにして、ViewModelのほうに全部押し込めって話か
極端な話Modelを全部immutableにして、後のつじつまあわせは全部ViewModel(Store)で全部やれってことww
負荷が全部ViewModel(Store)にいくってことじゃね??
ああ、わかったただのMVVMの変種か
今までだって、MVVMで作ってた時はModelでimmutableなのをあったけど、
イメージとしてModelを全部immutableにして、ViewModelのほうに全部押し込めって話か
極端な話Modelを全部immutableにして、後のつじつまあわせは全部ViewModel(Store)で全部やれってことww
負荷が全部ViewModel(Store)にいくってことじゃね??
468デフォルトの名無しさん
2021/07/10(土) 12:32:05.86ID:uwFcR1va 今までだって例えばMVVMでTwitterアプリを作るとき
まず、汎用的なTwitterAPIを叩いてPOCOを返すだけのライブラリを作って(A)
(A)を内部で使ったModelを作る
必要ならここでINPCの変更通知を実装(B)
で、後はViewModelをつくるだけど、
(B)をすっとばして、ViewModelで(A)を使ってここですべてやる
こんな感じ??
まず、汎用的なTwitterAPIを叩いてPOCOを返すだけのライブラリを作って(A)
(A)を内部で使ったModelを作る
必要ならここでINPCの変更通知を実装(B)
で、後はViewModelをつくるだけど、
(B)をすっとばして、ViewModelで(A)を使ってここですべてやる
こんな感じ??
469デフォルトの名無しさん
2021/07/10(土) 12:35:43.17ID:uwFcR1va だからそもそも今までだってどこのModelか知らんが(A)の部分は汚染されてないけどな..
二つ似たようなの作ってるが..
二つ似たようなの作ってるが..
470デフォルトの名無しさん
2021/07/10(土) 12:52:18.73ID:uwFcR1va もちろん、Modelをmutableにしてもいいけど、ViewModel(Store)内でModelを直接更新するからModelの変更通知機能は全く必要なくて、更新後ViewModel(Store)がViewに状態が変わりましたよって通知できればいい
やっと理解できました
ありがとう
やっと理解できました
ありがとう
471デフォルトの名無しさん
2021/07/10(土) 15:15:27.78ID:xJQjD86t mvcやらmvvmやらに全てあてはめようとして考えて、
訳わかんない考えに染ってるのばっかだな
訳わかんない考えに染ってるのばっかだな
472デフォルトの名無しさん
2021/07/10(土) 15:53:06.08ID:fmB/UGP2 まあデザインパターン病と同じ。
473デフォルトの名無しさん
2021/07/10(土) 16:12:10.43ID:xJQjD86t >>470
これが何も知らない新人君でもやる普通の実装なんだがな
これが何も知らない新人君でもやる普通の実装なんだがな
474デフォルトの名無しさん
2021/07/10(土) 18:17:59.49ID:Is4zF1A7475デフォルトの名無しさん
2021/07/10(土) 18:34:12.08ID:X6uqNK3l というかこれって答えあるのか?
476デフォルトの名無しさん
2021/07/10(土) 18:37:01.39ID:yemPkoko オブザーバーでも
イベントでも
好きなパターンで実装すればよろし
イベントでも
好きなパターンで実装すればよろし
477デフォルトの名無しさん
2021/07/10(土) 18:52:36.88ID:T1N+jIqA478デフォルトの名無しさん
2021/07/10(土) 18:54:15.71ID:T1N+jIqA VMからMにはメッセージのみ送る
馬鹿はVMからMをいじる
馬鹿はVMからMをいじる
479デフォルトの名無しさん
2021/07/10(土) 18:57:20.02ID:T1N+jIqA WPFで本気でMVVMやりたいならMに通知もみんな書くんだよ
これがモデル汚染
最近はビジネスロジック層を作ってお茶を濁してるけどそれも結局通知はどこなのか普通に迷うところ
これがモデル汚染
最近はビジネスロジック層を作ってお茶を濁してるけどそれも結局通知はどこなのか普通に迷うところ
480デフォルトの名無しさん
2021/07/10(土) 19:16:41.13ID:uwFcR1va >>479
>WPFで本気でMVVMやりたいならMに通知もみんな書くんだよ
MVVMの話でいいならそれはrigaya?が勝手に言ってるだけだぞ
別に正解の定義なんてないだろうしどっちが正解とは言
言わんが
Modelのメソッドは結果を返さず、メソッドの呼び出しの結果、自身の状態(プロパティ)を変更するだけってやつだろ
>WPFで本気でMVVMやりたいならMに通知もみんな書くんだよ
MVVMの話でいいならそれはrigaya?が勝手に言ってるだけだぞ
別に正解の定義なんてないだろうしどっちが正解とは言
言わんが
Modelのメソッドは結果を返さず、メソッドの呼び出しの結果、自身の状態(プロパティ)を変更するだけってやつだろ
481デフォルトの名無しさん
2021/07/10(土) 19:28:32.13ID:xJQjD86t フレームワークの方法論は
その開発者が一方的に押し付けてる理屈なのに
気づけない馬鹿
その開発者が一方的に押し付けてる理屈なのに
気づけない馬鹿
482デフォルトの名無しさん
2021/07/10(土) 19:35:48.59ID:T1N+jIqA 違うよ
知性の問題だ
それが理解できない馬鹿がバグを量産する
知性の問題だ
それが理解できない馬鹿がバグを量産する
483デフォルトの名無しさん
2021/07/10(土) 19:36:54.45ID:T1N+jIqA 馬鹿が自分が馬鹿でないと思って偉そうに何年もクソコードを書いてMVVM最高と言ってるだけだ
484デフォルトの名無しさん
2021/07/10(土) 19:38:06.79ID:uwFcR1va うん、rigayaは開発者じゃないしね
485デフォルトの名無しさん
2021/07/10(土) 19:40:04.65ID:T1N+jIqA486デフォルトの名無しさん
2021/07/10(土) 19:43:32.20ID:xJQjD86t modelとviewModelの責務分けは
馬鹿には出来んよなーー
馬鹿には出来んよなーー
487デフォルトの名無しさん
2021/07/10(土) 19:47:15.76ID:uwFcR1va 外人でrigayaと同じ主張してる人見たことない
Modelで通知をするのが普通とか言ってるのはお前が勝手に思ってるだけ
>>481でMVVMを本当に作った人が特定できるならまずそれを特定してくれ。で、Modelで変更通知を実装するのが普通ってどこに書いてあるか教えてくれ
Modelで通知をするのが普通とか言ってるのはお前が勝手に思ってるだけ
>>481でMVVMを本当に作った人が特定できるならまずそれを特定してくれ。で、Modelで変更通知を実装するのが普通ってどこに書いてあるか教えてくれ
488デフォルトの名無しさん
2021/07/10(土) 19:52:15.95ID:uwFcR1va もちろん、ViewModelはビューの状態を保持し、Modelに対してはModelのメソッドを呼んで
ビューに関するロジックを書くだけだぞ
Modelに変更通知機能あるかないかは全く関係ない話
勝手にModelに変更通知があるのが普通と思ってのはお前
ビューに関するロジックを書くだけだぞ
Modelに変更通知機能あるかないかは全く関係ない話
勝手にModelに変更通知があるのが普通と思ってのはお前
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
- 【山形】クマ駆除で誤射した猟友会隊員に町が1663万円請求へ...弾当たり男性大けが2023年 小国町 [nita★]
- 【WOWOW】UEFAチャンピオンズリーグ・ヨーロッパリーグ ★18
- とらせん
- 巨専】
- 【WOWOW】UEFAチャンピオンズリーグ・ヨーロッパリーグ ★17
- こいせん 全レス転載禁止
- わしせん ようこそ佐藤直樹くん ありがとう石井さん
- 中国人、ガチ超正論。「日本人がアイヌに対してやったことを『問題ない』とするなら、中国が日本人に同じことをしても文句ないだろう?」 [314039747]
- 【悲報】新米、全く売れなくて倉庫が満杯になってしまうwwwwwwwwwwwwwwwwwwww [802034645]
- 最近レッテル貼りしてドヤ顔してるガチガイジが嫌儲に増えてない? [866936191]
- 木曜日のんなっしょい❗(・o・🍬)仕放題スレ🏡
- 【悲報】日本共産党、ツイッター速報にブチギレ法的措置WWWWWWWWWWWWWWWWWWWWWWWWWWWW [935793931]
- 官僚「台湾有事についての質問か、『政府として逐一答えない』と…(カタカタカタ)」高市「私1人で答弁できるわよ!」 [972432215]
