Skip to content

AndreyWells/lab_5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Задачи паттерна проектирования "Стратегия":
1. Добавить возможность подключения к операционным системам с помощью различных устройств, будь то ноутбук, планшет, телефон или телевизор. Предусмотреть возможность расширения, без изменения существующего интерфейса.
Осуществить это можно:
1. Создание абстрактного класса стратегии входа с устройств с виртуальной функцией входа.
2. Создание перечисляемого типа данных(опционально: инкапсулирование в абстрактный класс стратегии)
3. Унаследовать от абстрактного класса 4 других, в которых будем добавлять реализацию функции входа.
4. Создание фабричной функции, в которой будем динамически создавать объект нужного класса, в зависимости от переданного устройства.
5. Инкапсулировать стратегию входа в абстрактный класс операционных систем.
6. Добавить инициализацию стратегии входа нулем в конструкторе.
7. В унаследованных классах задать тип устройства по умолчанию.
8. Создать сеттер, на вход которого будет передаваться стратегия входа, и которой будет задавать ее для ОС.
9. Добавить в виртуальную функцию Connect абстрактного класса ОС использование полученной стратегии.

Задачи для паттерна проектирования "Шаблонный метод":
1. Уменьшить дублирование кода в унаследованных классах и структурировать функцию Connect абстрактного класса ОС.
Осуществить это можно:
1. В абстрактный класс ОС добавить чисто виртуальные функции для вывода типа ОС, места подключения с устройства.
2. Добавить реализацию этих функций в унаследованные классы.
3. Вынести в отдельные функции части из функции Connect, которые будут содержать проверку статуса ОС с помощью геттера из абстрактного класса и подключение с нужного устройства, в зависимости от переданного устройства по умолчанию.
4. Сделать функцию Connect из абстрактного класса ОС не виртуальной, а написать для нее структуру, состоящую из: вывода названия, проверки статуса ос, места входа и подключения с устройства.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors