MVC паттерн давно уже на рынке, но многие его используют по разному.
С опытом разработки мы увидели, что очень удобно разделить MVC таким образом:
M = SOA
V = templating, head, footer-scripts, parts
C = Routing + easy code and business logic
Почему Model — это SOA. По сути модель многие понимают как работу с данными и получается каждая обработка данных — это некий внутренний сервис. Желательно, что бы они были НЕ связаны сильно и код можно было легко расширять.
View в веб-разработке часто несёт в себе заголовки head и скрипты, которые не являются уже внешним видом, а несут отдельный смысл. Лучше их переносить в отдельные файлы. Также View-ки должны легко делится на части для простоты масштабирования проекта
Controller — это основной элемент всей связки. В нем происходит распределение реакций на запросы клиента. И часто на первом этапе это распределение выполняет Rotuting, а уже потом в методе контроллера собираются все нужные данные и помещаются во View.
Мы считаем такую архитектуру оптимальной. Каждое направление может использовать ООП, наследовать абстрактные классы и усложнятся, но важно соблюдать границы, что бы код легко расширялся и был удобный для коллективной работы.
Многие фреймворки поддерживают такую архитектуру и многие аккуратные разработчики приблизительно так и строят программы.
Если же в коде обсуждаемые выше элементы перепутаны, то мы рекомендуем как можно скорее сделать рефакторинг и процесс разработки после этого может значительно ускорится.
Спасибо за внимание.
Если кто знает другие хорошие варианты архитектуры, напишите пожалуйста в комментах ваши мнения, спасибо.
ссылка на оригинал статьи https://habrahabr.ru/post/283096/
Добавить комментарий