» Главная
eXcode.ru » Статьи » Ruby
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 13







Схема MVC в Ruby on Rails




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, который облегчает выполнение таких задач как отсылка активационных писем после регистрации пользователя, протоколирование изменений модели и так далее.

Источник: sabanin.ru
К началу статьи





Добавил: MadvEXДата публикации: 2008-02-11 00:48:10
Рейтинг статьи:5.00 [Голосов 1]Кол-во просмотров: 2363

Комментарии читателей

Всего комментариев: 0
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

На каком хостинге расположен ваш сайт?
На платном зарубежном
5% (6)
На платном российском
14% (19)
На народе
15% (20)
На халявном с пхп и перлом
21% (28)
На localhost :)
18% (24)
А хостинг это че-то типа пудинга?
5% (6)
У меня нет сайта :(
23% (30)

Проголосовало: 133
Вы хотите попасть в виртуальный мир, но у вас нет денег на покупку компьютера? Вы не любите Интернет-кафе? В таком случае мы предлагаем вам новое альтернативное средство доступа к виртуальному миру, цена всего 200 рублей за одну таблетку.
Рейтинг: 0/10 (0)
Посмотреть все анекдоты

 
eXcode.ru » Статьи » Ruby