Чем отличается шаблон проектирования MVC, MVP и MVVM с точки зрения кодирования c #

Если мы ищем в Google фразу «В чем разница между шаблоном проектирования MVC, MVP и MVVM», то мы можем получить несколько URL-адресов, которые обсуждаютразница между MVC MVP и MVVM шаблонами проектирования теоретически похожа:

MVP

Используйте в ситуациях, когда связывание через текстовый код данных невозможно. Windows Forms является прекрасным примером этого. Чтобы отделить представление от модели, нужен докладчик. Поскольку представление не может напрямую привязываться к докладчику, информация должна передаваться в представление через интерфейс (IView).

MVVM

Используйте в ситуациях, когда возможно связывание через текстовый текст. Почему? Различные интерфейсы IView для каждого представления удалены, что означает меньше кода для обслуживания. Некоторые примеры, где возможен MVVM, включают проекты WPF и javascript, использующие Knockout.

MVC

Используйте в ситуациях, когда связь между представлением и остальной частью программы не всегда доступна (и вы не можете эффективно использовать MVVM или MVP). Это ясно описывает ситуацию, когда веб-API отделяется от данных, отправляемых клиентским браузерам. Microsoft ASP.NET MVC является отличным инструментом для управления такими ситуациями и обеспечивает очень четкую структуру MVC

Но я не нашел ни одной статьи, которая теоретически обсуждала бы разницу, а также пример кода.

Было бы очень хорошо, если бы я получил статью, в которой обсуждается разница между этими 3 шаблонами проектирования (MVC, MVP и MVVM) вместе с кодом.

Я хотел бы получить в руки исходный код из 3 похожихCRUD приложения, которые были реализованы этими тремя шаблонами проектирования (MVC, MVP и MVVM). Так что я могу пройтись по коду и понять, как нужно писать код для этих трех схем проектирования (MVC, MVP & MVVM).

Поэтому, если существует такая статья, в которой обсуждается, как код будет выглядеть по-разному для этих трех шаблонов проектирования (MVC, MVP и MVVM), пожалуйста, перенаправьте меня к этой статье.

Ответы на вопрос(4)

Ваш ответ на вопрос