Курсовая. Нельзя реализовать два задания в одном проекте одновременно
Скачать 18.21 Kb.
|
*Нельзя реализовать два задания в одном проекте одновременно. Задание 1: Разработать набор классов, представляющих собой абстракцию над предметной областью (п.о.), с использованием языка программирования C#. Однозначно определить свою предметную область, выбрав ее из списка или придумав самостоятельно (в таком случае предметную область нужно согласовать с преподавателем), и реализовать проект, продемонстрировав работу с программой. Приложение консольное (консольные интерфейс). Предметная область – химия. Описать п.о. в файле description.txt в корне проекта (рекомендуется). Должна быть разработана логика взаимодействия объектов п.о. Сформировать структуру классов, описывающих выбранную п.о. При проектировании можно использовать паттерны проектирования, например, Абстрактная фабрика. В рамках ООП архитектуры должна быть реализована как минимум одна иерархия Проект должен содержать более 8 классов (из них как минимум 4 класса не должны относиться к реализованной иерархии классов). В том числе абстрактный(ые) класс(ы). Интерфейс взаимодействия с приложением в данный список не входит и сложность (объем реализации) зависит от автора реализации и п.о. Реализовать как минимум один ООП интерфейс (необязательное) Использовать getters и setters как минимум в одном классе (необязательное) Показать и объяснить использование инкапсуляции, полиморфизма и наследования Описать п.о. в файле description.txt в корне проекта (рекомендуется). Должна быть разработана логика взаимодействия объектов п.о. Сформировать структуру классов, описывающих выбранную п.о. При проектировании можно использовать паттерны проектирования, например, Абстрактная фабрика. В рамках ООП архитектуры должна быть реализована как минимум одна иерархия Проект должен содержать более 8 классов (из них как минимум 4 класса не должны относиться к реализованной иерархии классов). В том числе абстрактный(ые) класс(ы). Интерфейс взаимодействия с приложением в данный список не входит и сложность (объем реализации) зависит от автора реализации и п.о. Реализовать как минимум один ООП интерфейс (необязательное) Использовать getters и setters как минимум в одном классе (необязательное) Показать использование инкапсуляции, полиморфизма и наследования. Задание 2 (обобщение): Разработать собственную обобщѐнную коллекцию в рамках выбранной п.о. и внедрить в проект. Условия задачи: Поддержка как минимум одного интерфейса из следующих интерфейсов: ICollection, IClonable, IEnumerator, IEnumerable Внедрить поддержку обобщений в проект. Продемонстрировать ковариантность и контравариантность обобщѐнных интерфейсов. Добавить одно ограничение при обобщении. Задание 3. (делегаты): К разработанной в практическом задании №2 коллекции добавить возможность сортировки и сравнения элементов. Условия сравнения элементов задаются из внешнего по отношению к классу-коллекции источника. Условия задачи: Использование делегатов Использование классов Action и Func. ________________________________________________ |