Программирование на C++: ИПР № 2 по ООП

Номер: 41359
Тип работы: Лабораторная работа
Город: Минск
ВУЗ: Белорусский государственный университет информатики и радиоэлектроники (БГУИР)
Дата сдачи: Январь 2017
Стоимость: 16$, 40 BYN, 1168 RUB

Содержание

Индивидуальная практическая работа №2 Указания по выбору варианта Для данной индивидуальной практической работы выбор варианта не предусмотрен. Практическая часть Контрольное задание №1. Полиморфизм в иерархии классов. Множественное наследование. Агрегация. Механизмы взаимодействия между объектами. Приемы проектирования: фабрики классов. Разработать иерархию классов для организации виртуальной файловой системы. Иерархия включает проектирование не менее четырех интерфейсов: IVFSObject, IFile, IDirectory, IVFS. IVFSObject – является предком IFile и IDirector, а так же содержит общий для них набор методов. Каждый экземпляр записи виртуальной файловой системы реализует методы интерфейса IVFSObject. В свою очередь интерфейсы IFile и IDirectory расширяют набор методов IVFSObject, каждый согласно своей функциональности. Интерфейс IVFS содержит методы доступа к метаинформации конкретного драйвера виртуальной файловой системы. В частности, он должен содержать методы получения таких данных как название используемого драйвера файловой системы, используемая кодировка в именах файлов и т.д. Кроме того, IVFS содержит метод доступа к корневому элементу файловой системы. Разработка виртуальной файловой системы включает создание не менее трех драйверов в виде соответствующего набора классов. Это означает, что необходимо создать группу классов, реализующих каждый спроектированный интерфейс для своего типа драйвера представления данных. Таким образом, основной код программы не будет зависеть от типа драйвера, способа представления, хранения и организации файловой системы в памяти, так как будет ориентирован на использование экземпляров интерфейсных типов переменных. За счет такого подхода достигается полиморфизм исходного кода, который использует экземпляры разработанных классов. В качестве примера типов драйверов можно выбрать следующие представления реализаций файловой системы в памяти: native -работа с системными вызовами ОС, block – хранение файловой системы в виде одной записи (бинарного файла) на логическом диске ОС, ftp – доступ к файловой системе с использование сетевого протокола передачи файлов. Для реализации выбора при создании экземпляра класса конкретного типа драйвера представления файловой системы необходимо использовать фабрику классов. Решение о выборе типа возвращаемого экземпляра фабрика принимает на основании входных параметров или внешнего конфигурационного файла. Дополнительно рекомендуется реализовать методы монтирования и демонтирования различных файловых систем между собой по аналоги с UFS (файловой системы unix), таким образом, что каждый объект файловой системы может также является точкой монтирования IMountPoint, которая также является расширением IVFSObject. При проектировании системы необходимо самостоятельно принять решение о целесообразности использования того или иного подхода для организации взаимодействия между объектами. Обосновать свой выбор теоретически.

Оставить контакты для покупки

Укажите Ваше имя!
Укажите телефон, e-mail, почтовый адрес или любой другой способ контакта
Укажите дату, до которой хотели бы забрать работу

Внимание! Вы можете приобрести любую из найденных Вами на сайте готовых работ за указанную стоимость. Если найденная Вами курсовая, отчет по практике, контрольная или дипломная работа не полностью соответствуют Вашему заданию, то Вы можете оценить стоимость доработки найденного задания до требуемого Вам содержания – это будет стоить значительно дешевле, чем выполнение задания заново.

Кроме того, Вы можете приобрести часть найденной работы для последующего самостоятельного использования. Указанные на сайте цены не являются окончательными (возможно некорректное указание стоимости!) и в большинстве случаев подлежат изменению в сторону снижения (в зависимости от качества задания и ряда других факторов). Вы можете предварительно проконсультироваться с нашими менеджерами относительно уровня качества найденного подходящего задания.

Готовая контрольная, отчет, курсовая или даже дипломный проект могут быть получены Вами в течение считанных минут после оплаты. На этой странице Вы можете ознакомиться со способами оплаты готовых работ для жителей Беларуси, Российской Федерации и других стран.