Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #73, ДЕКАБРЬ 2006 г.

вагон-ресторан

БОРИС ВОЛЬФСОН

Спецвыпуск: Хакер, номер #073, стр. 073-060-5


ПАТТЕРН ПРОГРАММИРОВАНИЯ MVC

ШАБЛОН ПРОЕКТИРОВАНИЯ MVC РАЗДЕЛЯЕТ ДАННЫЕ, ПРЕДСТАВЛЕНИЕ И ОБРАБОТКУ ДЕЙСТВИЙ ПОЛЬЗОВАТЕЛЯ НА ТРИ РАЗЛИЧНЫХ ЧАСТИ:

- МОДЕЛЬ ПРЕДОСТАВЛЯЕТ ДАННЫЕ И ИЗМЕНЯЕТ СВОЕ СОСТОЯНИЕ;

- ОТВЕЧАЕТ ЗА ОТОБРАЖЕНИЕ ИНФОРМАЦИИ;

- ПОЛУЧАЕТ СОБЫТИЯ ОТ ПОЛЬЗОВАТЕЛЯ И ИНТЕРПРЕТИРУЕТ ИХ, ИЗВЕЩАЯ МОДЕЛЬ О НЕОБХОДИМОСТИ ДЕЙСТВИЙ.

ГЛАВНЫМ ПЛЮСОМ ТАКОГО РАЗДЕЛЕНИЯ ЯВЛЯЕТСЯ ТО, ЧТО МОДЕЛЬ НЕ ЗАВИСИТ НИ ОТ ПРЕДСТАВЛЕНИЯ, НИ ОТ КОНТРОЛЛЕРА И ПОЭТОМУ ЕЕ МОЖНО ИЗМЕНЯТЬ НЕЗАВИСИМО ОТ НИХ.

РЕАЛИЗАЦИЯ MVC В RUBY ON RAILS

ТИП: Текст с названиями, можно разбить на три врезки и раскидать по тексту.

[модель] – это сердце всего приложения, она предоставляет остальным компонентам доступ к данным в объектно-ориентированной форме. Она также осуществляет манипуляцию с данными в БД и реализует логику работы приложения. В RoR для автоматической работы с базами данных достаточно создать наследника от класса ActiveRecord::Base, а все необходимые атрибуты создаст за вас среда.

[представление] реализует интерфейс пользователя, отображая данные, полученные от контроллера, и передает контроллеры запросы пользователя. В Ruby on Rails представление реализуется при помощи шаблонов RHTML, которые представляют собой обычные HTML-файлы с примесью Раби.

[контроллер] отвечает за взаимодействие с пользователем. Контроллеры реализуются как классы-наследники от ActionController::Base и тесно связаны с адресом, на который зашел пользователь. Например, при переходе на страницу “book/list”, будет вызван метод list класса BookController, а в качестве шаблона выступит представление list.rhtml из соответствующий папки.

ДЕРЕВО ПАПОК ROR

CONTROLLERS – МЕСТО ХРАНЕНИЕ КОНТРОЛЛЕРОВ

VIEWS – ПАПКА ДЛЯ ШАБЛОНОВ-ПРЕДСТАВЛЕНИЙ

MODELS – ПАПКА ДЛЯ ХРАНЕНИЯ МОДЕЛЕЙ

HELPERS – ПАПКА ДЛЯ ВСПОМОГАТЕЛЬНЫХ КЛАССОВ

www.ruby-lang.org/ - сайт языка Раби

http://www.rubyonrails.org/ - родной сайт Ruby on Rails – здесь есть все: от файлов для скачивания до презентаций

http://www.rubyonrails.ru/ - русский сайт «рельсов», пока еще не такой большой, как его заокеанский сородич

http://sabanin.ru/ - блог человека, действительно очень увлеченного Раби. На сайте есть уникальные переводные материалы

http://ru.wikibooks.org/wiki/Ruby - вики-учебник по Раби

http://rubyforge.org/ - хранилище проектов, написанных на Раби

ПРИНЦИП DRY (DON’T REPEAT YOURSELF – НЕ ПОВТОРЯЙСЯ!) ПОЗВОЛЯЕТ ИЗБЕЖАТЬ ДУБЛИРОВАНИЯ

WEBRICK – ВСТРОЕННЫЙ СЕРВЕР RUBY, ХОТЬ ОН И МЕДЛЕННЫЙ, ЗАТО СТАНДАРТНЫЙ И ВСЕГДА ЕСТЬ

RUBY МОЖЕТ РАБОТАТЬ ЧЕРЕЗ APACHE, ДЛЯ ЭТОГО НЕОБХОДИМО УСТАНОВИТЬ MOD_RUBY

Назад на стр. 073-060-4  Содержание