Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MVVMになるようにリファクタリングする #44

Open
ryu-s opened this issue Apr 27, 2019 · 0 comments
Open

MVVMになるようにリファクタリングする #44

ryu-s opened this issue Apr 27, 2019 · 0 comments

Comments

@ryu-s
Copy link
Member

ryu-s commented Apr 27, 2019

現状、主にMainViewModelがModelの役割りも兼務してしまっている。これを正しい(理想的な?)MVVMに近づける。

例えば今のコードではMainViewModelがプラグインとやり取りしてしまっている。ViewModelの本来の役割りはModelとViewの仲介役。Modelはドメインをコードに落としたものであり、Viewとは隔離された状態で作成される。
ModelかViewどちらかの変更がもう一方に直接的に影響してしまう状態は結合度が高すぎるといえる。

個別ユーザ情報ウインドウをMVVMに対応させる方法

MainView<-MainViewModel<-MainModelがある状態
MainViewのコンテストメニューから「個別ユーザ情報」をクリック
MainViewModelのShowUserInfo(userId)が呼び出される
MainModelのShowUserInfo(userId)が呼び出される
UserModelを作成
MainModelがShowUserAdded的なイベントを発生させる
MainViewModelがUserModelを持たせたメッセージを送信
MainViewModelのコードビハインドが受信
し、個別ユーザ情報ウインドウを表示する

検討事項

ShowCurrentUserInfo()の方が良いかも
ユーザ毎のコメントの管理方法。現状、WPFの機能に依存している。IなんちゃらView。最初からユーザごとにUserModelを作っておいてそこで管理させるべきだろうか。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant