İlk kez Prism'e geçtiğimde exactly the same problem kullanmıştım.
Controllers
Presenters
mantık, oysa bir View
özgü olduğunu, bir tüm modülü kapsayan mantık için temelde. Örneğin, Presenter
Presenter
, görünüm devre dışı bırakıldığında bir düğmeyle sonuçlanan bir komuta yanıt verebilir. Controller
, View
(ve Presenter
) değerinin tamamen değiştirildiği veya modülün kabuğunda farklı bir bölgeye farklı bir Görünüm/Sunucu yükleyen bir komutla yanıt verir.
Düzenleme: Bunları ne zaman kullanacağınız ile ilgili olarak, yukarıda belirtilen düzenlemeye gerek duymuyorsanız, Controller
'u atlayabilirsiniz. En basit uygulama sadece sahip olacaktır:
Module
: Region
Presenter
içine görünümü/sunumu yapan kaydeder: görünümden komutlara yanıt ve ViewModel
değiştirir.
ViewModel
: adaptör
INotifyPropertyChanged
View
uygular Presenter
ve View
arası: ViewModel
bağlanır ve UI görüntüler
Düzenleme: ViewModel vs Presenter gelince, senin mantığın en çok Presenter'da olmalıdır. ViewModel'inizi, görüşünüze göre mantığı barındıracak şekilde düşünün, ancak Sunum, görüşle etkileşimin sonuçlarıyla ilgileniyor. Örneğin, kullanıcı View
'unuzdaki "Ara" düğmesini tıklatır. Bu, Presenter
tarafından işlenen ICommand
'u tetikler.Presenter
, aramaya başlar ve CanSearch
için PropertyChanged bildirimini tetikleyen ViewModel.IsSearching
özelliğini ayarlar. CanSearch
, diğer birçok özelliğe dayalı bir salt okunur özelliktir (ör. IsSearchEnabled && !IsSearching
). View
'daki "Arama" düğmesi CanSearch
'a bağlı Enabled
özelliğine sahiptir. Burada Bence Denetleyicisi olarak
Katılıyorum, şeylerin kafa karıştırıcı bir ucube karışıklık anlamına gelir. – Pierreten