Пояснение: MVC, MVP, MVVM - PullRequest
       14

Пояснение: MVC, MVP, MVVM

6 голосов
/ 20 января 2011

Я читаю разницу между MVC, MVP, MVVM

Источник: здесь

alt text

Я сомневаюсь, что диаграммы (MVP) (MVVM) показывают двунаправленную стрелку между Modle и Presenter, Model и ViewModel.

Presenter и ViewModel, очевидно, знают о Model.Но означает ли это, что Model знает о Presenter и ViewModel?

1 Ответ

7 голосов
/ 20 января 2011

Presenter и ViewModel, очевидно, знают о Model.Но означает ли это, что Model знает о Presenter и ViewModel?

Нет.По крайней мере, как я рассматриваю эти шаблоны, Модель должна (в идеале) не знать ничего, кроме себя.Я попытался подчеркнуть это в моем обсуждении MVVM , показывая только однонаправленную стрелку к Модели.

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

...