Гостевая
Форум
Разделы
Главная страница
Js скрипты
Php скрипты
Html шаблоны
Книги по Web дизайну
Статьи


Главная страница статей --> Хитрости при программировании php, заметки по базам данных

Схема MVC в Ruby on Rails

Источник: realcoding.net

MVC является схемой-паттерном для создания гибких и легко расширяемых приложений с пользовательским интерфейсом. Эта схема была разработана создателями Smalltalk-80 ещё 25 лет назад, однако остаётся чрезвычайно актуальной и по сей день.

Суть схемы MVC в разделении трёх основных элементов любого приложения с пользовательским интерфейсом:

* Model — Модель — Бизнес модель или объект предметной области
* View — Представление — Элементы пользовательского интерфейса
* Controller — Контроллер — Отслеживание событий пользовательского интерфейса

Такое разделение очень положительно влияет на качество получаемого кода. В разы уменьшается количество зависимостей между различными его частями. Схема позволяет избежать зависимости модели от интерфейса, улучшая возможность к повторному использованию кода. Значительно уменьшается опасность повредить бизнес-модель в процессе изменения интерфейса. Ruby on Rails является одной из наиболее точных Web-реализаций паттерна MVC.



В Rails в качестве реализации Модели выступает класс ORM ActiveRecord. Благодаря динамической природе Ruby ActiveRecord позволяет работать с таблицами базы данных без какой-либо предварительной конфигурации, так как схема полей таблицы получается “на лету.”

За представление отвечает пакет ActionView, в который входит поддержка генерации HTML и XML из различных типов шаблонов. ActionView предоставляет удобные средства вложения шаблонов и выделения общей разметки в отдельные файлы для избежания повторов.

Контроллер реализуется пакетом ActionController, который отвечает за обработку запроса, инициализацию модели и вызов методов на ней, а также за передачу данных в HTML шаблоны. Кстати, в этом основное отличие контроллеров Web-приложений от обычных GUI-контроллеров. В GUI приложениях контроллеры не занимаются обновлением представления, там эта роль отдана реализации паттерна Observer (Наблюдатель), который самостоятельно следит за изменениями модели и отражает их на пользовательском интерфейсе. Тем не менее, в Rails так же присутствует паттерн Observer, который облегчает выполнение таких задач как отсылка активационных писем после регистрации пользователя, протоколирование изменений модели и так далее.



Похожие статьи:
- Страсти вокруг AJAX накаляются
- Чем отличаются id и class
- XHTML, говорите?
- "Компот" и "мухи" веб-разработки
- Таблицы во флеше? Легко!
- Ruby on Rails 0.13
- Установка Ruby
- Создание Rails приложения с помощью Streamlined
- Рельсы - скепсис
- Установка защиты на страницу используя MySQL и PHP
- Безопасный и удобный поиск на PHP
- Зачем интернету usability?
- XML. Обзор языка


Оглавление | Обсудить на форуме | Главная страница сайта | Карта сайта |
[0.001]