Справочник от Автор24
Поделись лекцией за скидку на Автор24

О контроллерах

  • 👀 168 просмотров
  • 📌 147 загрузок
Выбери формат для чтения
Загружаем конспект в формате pptx
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «О контроллерах» pptx
Лекция 7. О контроллерах О системных событиях и сообщениях Что такое модель, представление и контроллер Когда и как применять контроллеры Антипаттерн: Fat Stupid Ugly Controllers Что, если интерфейса нет совсем? Системное событие Системное собы т ие (system event) — это событие высокого уровня, генерируемое внешним исполнителем (событие с внешним входом). Системные события связаны с системны ми операциями (system operation), т.е. операциями, выполняемыми системой в ответ на события. Кто должен отвечать за обработку входных системных событий? • Класс предст авляет всю систему в целом, устройство или подсистему (внешний контроллер). Может называться System, SystemController, ApplicationController • Класс предст авляет сценарий некоторого прецедент а, в рамках которого выполняется обработка всех системных событий, и обычно называется <Прецедент>Наndlеr,<Прецедент>Coordinator, <Прецедент>Session(контроллер прецедента или контроллер сеанса). Система в целом Модель Модель представляет знания о предмет ной област и: данные и методы работы с этими данными. Реагирует на запросы, изменяя своё состояние. Не содержит информации, как эти знания можно визуализировать. Модель Представление Отвечает за отображ ение инф ормации (визуализацию). Часто в качестве представления выступает форма (окно) с графическими элементами. Представление Представление Контроллер Конт роллер (controller) — это объект, не относящийся к интерфейсу пользователя и отвечающий за обработку системных событий. Контроллер определяет методы для выполнения системных операций. Контроллер прецедента и контроллер сеанса • Для всех системных событий в рамках одного сценария прецедент а используется один и тот же классконтроллер. • Сеанс — это реализация последовательности взаимодействий с исполнителем. Сеансы могут иметь произвольную длину, но зачастую организованы в рамках прецедента (сеансы прецедента). Идеология контроллеров: системны е собы т ия не обрабат ы ваются на уровне предст авления! Распределение обязанностей В процессе анализа поведения системы системные операции относятся к классу System. Однако это не означает, что их выполняет программный класс System. Более того, обязанности по выполнению системных операций обычно возлагаются на класс Controller. Кто же будет добавлять продажу? Вариант 1: один конт роллеробъект Вариант 2: конт роллеры прецедентов Преимущества контроллеров • Улучшение условий для повторного использования компонентов (за счет уменьшения связности) • Контроль состояния прецедента • Отделение бизнес-логики от системной логики Fat Stupid Ugly Controllers • Включить в модель только данные • Всю бизнес-логику процесса упаковать в один контроллер • Добавить туда всю логику материализации/дематериализации Тонкие контроллеры • Оставить бизнес-логику модели • Оставить контроллеру приём системных сообщений и запросов • Предоставить контроллеру доступ к модели и возможность делегировать сообщения Родственники контроллера • Command (Команда) — в системах обработки сообщений каждое сообщение может представлять и обрабатывать отдельный объект Command. • Facade (Фасад) — выбор объекта, представляющего всю систему или организацию в качестве внешнего контроллера. • Layers (Слои) — согласно шаблону Layers, логика реализации размещается в слое реализации, а не в слое представления. • Pure Fabrication (Чистая синтетика) — еще один шаблон GRASP, который подразумевает создание искусственного класса, не имеющего аналога в предметной области. Элементом шаблона Pure Fabrication является контроллер прецедента. Системы обработки сообщений и шаблон «команда» • Команда (Command) • Исполнитель команд (Command Processor) Команда
«О контроллерах» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ
Получи помощь с рефератом от ИИ-шки
ИИ ответит за 2 минуты

Тебе могут подойти лекции

Смотреть все 588 лекций
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot