MultiCommentViewer
MultiCommentViewer copied to clipboard
MVVMになるようにリファクタリングする
現状、主に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を作っておいてそこで管理させるべきだろうか。