Задание 1
• Определить интерфейс IConvertible, указывающий, что реализующий его класс может конвертировать блок кода в С# или VB-код. В интерфейсе определить два метода ConvertToCSharp и ConvertToVB, каждый из которых принимает и возвращает строку.
• Создать класс ProgramHelper, реализующий интерфейс IConvertible. При написании методов вместо преобразования строки использовать простые строковые сообщения для имитации преобразования.
• Создать новый интерфейс ICodeChecker, определив в нем метод CheckCodeSyntax, принимающий две строки: строка для проверки и используемый язык. Метод должен возвращать тип bool. Добавить в класс ProgramHelper функциональность нового интерфейса IСodeChecker.
• Создать класс ProgramConverter, реализующий интерфейс IConvertible. Изменить класс ProgramHelper, наследуя его от класса ProgramConverter и интерфейса ICodeChecker.
• Протестировать класс, создав массив объектов ProgramConverter, одни из которых имеют тип ProgramConverter, а другие – тип ProgramHelper. Для каждого элемента массива проверить, что он реализует интерфейс IСodeChecker (или нет). Если реализует интерфейс IСodeChecker, то вызвать метод проверки кода и соответствующий метод преобразования. Если не реализует интерфейс IСodeChecker, то вызвать два метода преобразования кода.
• Добавьте в проект диаграмму классов с использованием средств Visual Studio. Задайте диаграмме понятное имя.
Задание 2
Написать программу, которая декорирует класс Stream и показывает, какая часть файла была прочитана, используя полосу прокрутки.
При выполнении нужно применить шаблон проектирования Декоратор.
Задание 3
Напишите программу, которая декорирует класс Stream и спрашивает пароль, прежде чем позволяет продолжить чтение.
При выполнении нужно применить шаблон проектирования Декоратор.
Прикрепленные файлы: |
|
|---|---|
|
Администрация сайта не рекомендует использовать бесплатные работы для сдачи преподавателю. Эти работы могут не пройти проверку на уникальность. Узнайте стоимость уникальной работы, заполните форму ниже: Узнать стоимость |
|
Скачать файлы: |
|
|
|
