[содержание](/readme.md)  

Задания для лабораторной работы

>Реализовать задание, номер которого равен последней цифре вашего телефона

0. Шаблон **Стратегия**. Проект *Принтеры*. В проекте должны быть реализованы разные модели принтеров, которые выполняют разные виды печати.

1. Шаблон **Наблюдатель**. Проект *Оповещение постов ГАИ*. В проекте должна быть реализована отправка сообщений всем постам ГАИ.

2. Шаблон **Декоратор**. Проект *Универсальная электронная карта*. В проекте должна быть реализована универсальная электронная карта, в которой есть функции паспорта, страхового полиса, банковской карты и т. д.

3. Шаблон **Фабричный метод**. Проект *Фабрика смартфонов*. В проекте должно быть реализовано создание смартфонов с различными характеристиками.

4. Шаблон **Абстрактная фабрика**. Проект *Заводы по производству автомобилей*. В проекте должно быть реализована возможность создавать автомобили различных типов на разных заводах.

5. Шаблон **Команда**. Проект *Клавиатура настраимаемого калькулятора*. Цифровые и арифметические кнопки имеют фиксированную функцию, а остальные могут менять своё назначение.

6. Шаблон **Адаптер**. Проект *Часы*. В проекте должен быть реализован адаптер, который дает возможность пользоваться часами со стрелками так же, как и цифровыми часами. В классе *Часы со стрелками* хранятся повороты стрелок.

7. Шаблон **Фасад**. Проект *Компьютер*. В проекте должен быть реализован “компьютер”, который выполняет основные функции, к примеру, включение, выключение, запуск ОС, запуск программы, и т.д, не раскрывая клиенту деталей выполнения этой операции.

8. Шаблон **Строитель**, применяется когда у объекта есть множество однотипных полей, при задании значений которых их легко перепутать. Реализуйте класс *контакты*, в котором может быть много полей: имя, фамилия, адрес, телефон и т.п.

9. Шаблон **Мост**. Реализовать проект *устройства и пульты управления*. Есть несколько устройств, реализующих методы *включение*, *громкость*, *канал* и несколько пультов управления: *стандартный* (звук и каналы меняются на +-1), расширенный (номер канала можно указать явно, есть отдельная кнопка "mute" для отключения звука)

[содержание](/readme.md)  

[_]: http://grazit.ru/laboratornaya-rabota-4-shabloni-proektirovaniya.html?page=7

[_]: https://docplayer.ru/109228240-Patterny-programmirovaniya.html