В чем разница между Presenter, Presentation Model, ViewModel и Controller?

Я довольно хорошо представляю, как работает каждый из этих шаблонов, и знаю о некоторых незначительных различиях между ними, но действительно ли они все так отличаются друг от друга?

Это Мне кажется, что Presenter, Presentation Model, ViewModel и Controller - это, по сути, одно и то же понятие.

Почему я не мог классифицировать все эти концепции как контроллеры? Я чувствую, что это может значительно упростить всю идею.

Может ли кто-нибудь дать четкое описание их различий?

Я хочу уточнить, что я понимаю, как работают шаблоны, и реализовал большинство из них в одном технология или другое. Я действительно ищу чей-то опыт работы с одним из этих шаблонов и почему они не считают свою ViewModel, например, контроллером.

Я дам несколько очков репутации за это, но я ищу действительно хороший ответ.

47
задан Flip 19 January 2017 в 17:57
поделиться