Содержание
- 2. Инкапсуляция вызовов методов Вызывающему объекту не нужно беспокоиться о том, как будут выполняться его запросы. Он
- 3. Автоматизация дома Требуется разработать API для Пульта Домашней Автоматизации. Пульт имеет семь программируемых ячеек (каждая из
- 4. Классы управления устройствами
- 5. Обсуждение Сам пульт устроен просто: всего две кнопки включение/выключение на каждое устройство, но классы устройств очень
- 6. Паттерн «Команда» Паттерн Команда отделяет сторону, выдающую запрос, от объекта, фактически выполняющего операцию. В нашем примере
- 7. Взаимодействие объектов, на примере кафе
- 8. Более подробно посетитель просматривает меню и создает заказ результат повар выполняет инструкции, содержащиеся в заказе мне
- 9. От кафе к паттерну Команда Клиент отвечает за создание объекта команды, содержащего набор операций с получателем
- 10. Реализация интерфейса Command Реализация команды для включения света
- 11. Использование объекта команды
- 12. Тестирование
- 13. Определение паттерна Команда (Action, Command) Паттерн Команда инкапсулирует запрос в виде объекта, делая возможной параметризацию клиентских
- 14. Связывание команд с ячейками
- 15. Реализация
- 16. Реализация Объект NoCommand является примером пустого (null) объекта. Пустые объекты применяются тогда, когда вернуть «полноценный» объект
- 17. Архитектура API пульта
- 18. Кнопка отмены interface Command + метод undo() в классах команд реализовать этот метод включить в класс
- 19. Макросы Нажатием одной кнопки выключить свет, включить телевизор и стереосистему, запустить DVD и наполнить джакузи.
- 20. Макросы
- 21. Резюме Принципы Инкапсулируйте, то что изменяется Отдавайте предпочтение композиции перед наследованием Программируйте на уровне интерфейсов, а
- 23. Скачать презентацию