Presenter и ViewModel, очевидно, знают о Model.Но означает ли это, что Model знает о Presenter и ViewModel?
Нет.По крайней мере, как я рассматриваю эти шаблоны, Модель должна (в идеале) не знать ничего, кроме себя.Я попытался подчеркнуть это в моем обсуждении MVVM , показывая только однонаправленную стрелку к Модели.
Однако многие люди используют стрелку, идущую в обе стороны от Модели кпредставляют события, поднятые моделью.Отчасти это зависит от того, как вы это видите - Модель, скорее всего, должна будет уведомить другие слои об изменениях внутри себя.В зависимости от языка / структуры это может выглядеть как модель, «говорящая» с другими уровнями.Тем не менее, я стараюсь быть очень осторожным, чтобы сохранить это абсолютно нейтральным с точки зрения модели.Например, в C # я просто использую событие, все типы которого зависят от модели.Он знает, что «что-то» может слушать событие, но не знает, что включает в себя это «что-то».