Комментарии

Шаблон проектирования MVC
( 0 Голосов )

Прежде чем переходить к подробному рассмотрению основного компонента, сделаем краткий обзор шаблона проектирования MVC, применяемого во всех компонентах. Как и во всех остальных шаблонах проектирования, предназначенных для объектно-ориентированного программирования (ООП), в шаблоне MVC предпринимается попытка извлечь наибольшую выгоду из повторно используемого кода (классов и методов), разделяя обработку на требующиеся разнотипные задания и создавая отдельные классы для их выполнения. Кроме того, применение шаблона MVC упрощает чтение, понимание и сопровождение самого кода. Те, у кого имеется некоторый опыт применения шаблонов, могут быстро уяснить организацию кода.

Рассмотрим типичный сеанс работы в Joomla, где вводится статья. Ниже приводится краткая сводка наступающих при этом событий.

Пользователь: 

Щелкает на кнопке Add (Добавить) на экране Article Manager (Диспетчер статей).

Joomla:

  1. Обрабатывает событие, наступающее после щелчка на кнопке, и передает URL для обращения к пустой форме.
  2. Обрабатывает URL для обращения к пустой форме и отображает ее.

Пользователь:

Вводит информацию и щелкает на кнопке Save & Close (Сохранить и закрыть).

Joomla:

  1. Обрабатывает форму.
  2. Сохраняет статью и связанную с ней информацию в базе данных.
  3. Создает URL для обращения к компоненту Article Manager с сообщением об успешном завершении операции.
  4. Обрабатывает URL для отображения на экране Article Manager сообщения об успешном завершении операции.

Шаблон проектирования MVC разделяет все эти задачи программирования на три группы. В частности, контроллер обрабатывает вводимые пользователем данные. Модель организует взаимодействие с базой данных, имея некоторые "знания" о том, как действуют статьи. А представление отображает все содержимое на странице. Организуя код подобным образом, мы можем вносить изменения в одну часть компонента, не меняя все остальные. В частности, мы могли бы добавить новое представление, не изменяя контроллер или модель. Если нам потребуется ввести новое действие пользователя (например, копирование), мы можем сделать это в контроллере и модели, не видоизменяя уже имеющийся код. А если нам нужно изменить порядок действия статей (например, добиться наличия в них лишь минимальных значений метаданных), то для этого придется внести изменения только в модель, никак не затрагивая контроллер и представление.

Принимая во внимание все сказанное выше, можно было бы предположить, что в Joomla компонент должен состоять всего из трех файлов: модели, контроллера и представления. Но, к сожалению, на практике дело обстоит много сложнее, и, как будет показано в следующем разделе, чем сложнее компонент, тем больше у него файлов. Тем не менее все эти файлы разделяются в основном на три категории: модели, контроллера и представления, а следовательно, шаблон MVC помогает лучше организовать код и уяснить его.


Понравился материал? Пригодилась информация? Плюсани в социалки!


Теги:
 
Похожие новости