вагон-ресторан БОРИС ВОЛЬФСОН Спецвыпуск: Хакер, номер #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 |