前提:質問者知識概要
主言語:
- C++
- Java
その他経験言語:
- C#.NET
- VB.NET
- VB6
- VBA
- Python
- Ruby
- Delphi
- etc...
MVVMの経験:
- C#.NETのWPFでほんの少し、かじった程度
前提:MVVMの概念理解度/概要
View - ViewModel - Model の関係について、
漠然役割イメージは下記の通り持っています。
■View
ユーザーインタフェース(UI)。
XMLなどで作成。
■ViewModel
UIとモデルの橋渡し。
クラスとして作成。
■Model
実処理部。
クラスとして作成。
質問内容
主にViewModelの役割やクラス設計等について、
実務レベルで乖離していないか、ご意見/ご回答いただけると幸いです。
①ViewModelはViewの数だけ存在すべきという認識で合っていますか?
※複数のViewで流用しやすいように、様々なデータを保有したViewModelを作るのは、いかがなものかと疑念を抱いたため、
質問にあげさせていただきました。
※あくまでViewの各コンポーネントから参照されるデータ群であるべきなので、
Viewの数だけViewModelを作成するのがオーソドックスと考えました。
細かいお話だと宗教論争に発展するかもしれませんが、
ご回答者様の主観で構いませんので、ご意見いただけますと幸いです。
②ViewとViewModelのデータ的関係については、
Bindingでリンクしているだけなので、
ViewModelの構成要素(クラスメンバ)が変化しない限り、
Viewへの影響は無い(ようにするすべき)認識で合っていますか?
③たとえば、DBから取得したデータを画面等で利用する場合、
データ本体を格納しておくデータクラスをModel部で保有しておき、
Model部でViewModelにデータセットすることで、
Viewに自動反映させるイメージで大きく認識に相違無いですか?
※ViewModelとViewのBindingはおこなっていると仮定
④たとえば、複数の画面から1つのデータを利用したい場合などは、
Model、「共通データ」、View1/ViewModel1、View2/ViewModel2
を準備しておき、
Model部で「共通データ」をViewModel1/2へセットすることで、
View1/2に反映させる形がオーソドックスでしょうか?
⑤ViewModelは橋渡しが主な役割の認識ですが、
簡単なデータ変換であれば実装しても良いものでしょうか?
それとも"変換"はロジカルな部分となるため、Modelに実装すべき内容でしょうか?
※True->1、1->Trueなどの簡易な変換であれば、持ち合わせても良いのでは?と考えたため、質問させていただきました。
的外れな内容、意図が理解できない言い回し等含みましたら大変申し訳ありませんが、
ご助力いただけますと幸いです。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/03/08 07:58 編集
2022/03/08 08:02
退会済みユーザー
2022/03/08 12:10
2022/03/08 23:44
2022/03/09 00:31
2022/03/09 03:01
退会済みユーザー
2022/03/09 12:01
2022/03/10 05:27
2022/03/11 23:19
退会済みユーザー
2022/03/12 10:09
2022/03/23 05:00