Вы, наверное, уже слышали о MVC. Особенно, если вы читали мою предыдущую статью об Angular, в которой также используется паттерн MVC. Итак, давайте разберемся, как это работает и почему так часто используется.

Что такое МВК?

MVC (сокращение от Model-View-Controller) это популярный способ организации кода. Его использование основано на идее, что приложение может быть легко адаптировано, расширяемо и понятно. Во-первых, давайте разберемся со структурой логики MVC, сравнив ее, например, с вождением автомобиля.

Модель

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

Вид

Код представления состоит из внешнего интерфейса или графического пользовательского интерфейса. Он будет определять как, что и как пользователь видит и взаимодействует с приложением. В автомобиле это эквивалентно спидометру и указателю уровня топлива.

Контроллер

Контроллер содержит логику, которая будет отвечать за обновление модели и/или представления в ответ на ввод данных пользователем в приложении.

Это будет акселератор, тормоз, сцепление. То есть все, с чем взаимодействует водитель. При ускорении (контроллер) двигатель (модель) будет реагировать на это, заставляя автомобиль двигаться, а спидометр (вид) будет подстраиваться под эти изменения и отображать водителю текущую скорость.

Преимущества использования MVC

Используя MVC, мы могли бы сэкономить много времени при работе с проектом, в котором участвуют несколько разработчиков, поскольку MVC — это способ организовать наш код в организованные блоки и отдельные части, упрощая повторный просмотр и изменение кода. конкретная логика или функциональность внутри него.

Подведение итогов

Современные приложения могут легко стать очень сложными, а внесение изменений или общее обслуживание могут стать очень непрактичными.

С помощью шаблона организации MVC приложение может быть организовано в виде более мелких отдельных компонентов, что обеспечивает его масштабируемость, удобство обслуживания и простоту расширения.

Что вы думаете об этом посте? Это помогло вам? Вы заметили что-то не так? Дайте мне знать в комментариях ниже!