質問内容
MVVMではViewModelとModelは一対でなければなりませんか?
ViewModelから複数のModelを参照することはルール違反でしょうか?
詳細
MVVMの学習を行っています。
ネットにあるサンプルの場合、View - ViewModel - Model が一対となっている説明が散見されます。
ファイル構成でいうと、
View | ViewModel | Model |
---|---|---|
MainView.xaml | MainViewModel.cs | MainModel.cs |
このような感じです。
私もはじめこの構成でもってプログラミングを開始したのですが、今現在MainModel.csが肥大化し続けています。
機能レベルでクラスの分割は行っておりますが、それらオブジェクトのインスタンスをMainModel.csが抱えてしまっているため、機能追加の度にMainModel.csが大きくなります。
(要するにMainModelが全ての機能をラップした神オブジェクトになってしまっている感じです。。。)
C#
1/* 2[現行] 3 View --- MainViewModel --- MainModel --- 機能A 4 └- 機能B 5 └- 機能C 6*/
この肥大化をやめるため、以下のような構成を考えているのですがこれはルール違反ですか?
C#
1/* 2[変更案] 3 View --- ViewModel --- 機能A 4 └- 機能B 5 └- 機能C 6*/
それとModelと呼ばれるクラスはクラス名に必ず"Model"をつけないといけないものなのでしょうか?
恐れ入りますがご意見頂戴できれば幸いです。よろしくお願いします。
開発環境
OS: Windows 10 (64bit)
開発言語: C#(WPF)
.Net: 4.6.1
IDE: VS 2017
※ 開発中のアプリケーションは、画面が1枚(細かいダイアログは除く)のアプリケーションです。
以上
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/05 00:36
2018/01/05 03:41
2018/01/05 03:50