Работа№5. Сборки, метаданные, атрибуты




Список лабораторных работ (ИСП, 2 семестр изучения)

№ п/п Тема работы К-во занятий Баллы
  Строки, числа, отношения объектов    
  Коллекции и LINQtoObjects    
  Файлы и потоки данных    
  Использование XMLи сериализация    
  Сборки, метаданные, атрибуты    
  Многопоточное программирование    
  Шаблоны проектирования    

 

Работа №1. Строки, числа, отношения объектов

Цели работы.

1. Изучить стандартные классы платформы.NETдля работы с числами и строками.

2. Изучить стандартные интерфейсы для сравнения объектов на равенство и порядкового сравнения.

 

Постановка задачи.

Разработать и протестировать класс, указанный в варианте задания. При разработке класса учесть следующие обязательные требования:

1. Реализовать несколько методов для представления объекта класса в виде строки.

2. Реализовать метод для получения объекта класса по строковому представлению (парсинг).

3. Реализовать в классе стандартные интерфейсы для проверки двух объектов на равенство и порядкового сравнения.

4. Снабдить класс и его элементы документирующими комментариями.

 

Варианты заданий.

1. Класс для представления рационального числа, т.е. числа вида n/m, где n – целое, m – натуральное число. Дополнительно реализовать в этом классе перекрытие математических операций.

2. Класс для представления цены товара, заданной в одной из валют. Предполагается, что есть фиксированная таблица конвертации валют. Дополнительно реализовать в этом классе перекрытие аддитивных операций.


 

Работа№2. Коллекции и LINQtoObjects

Цели работы.

1.Изучить стандартные классы для работы с коллекциями объектов.

2.Создать собственный класс-коллекцию.

3. Изучить работу с финализаторами и IDisposable.

4.Изучить технологию LINQ toObjects.

 

Постановка задачи.

1. Создать классы для представления указанных коллекций.

2. Снабдить созданные классы финализаторами и реализовать интерфейс IDisposable.

3. Реализовать стандартные операции для коллекции (добавление, удаление, поиск элемента).

4. Обеспечить реализацию интерфейса IEnumerable<T> для коллекций.

5. Продемонстрировать возможности LINQ toObjects для фильтрации коллекции, проекции коллекции, группировки элементов коллекции, преобразования коллекции, вычисления агрегатных функций.

 

Варианты заданий.

1. Факультет объединяет студенческие группы, а группа – студентов.

2. Поезд – это набор вагонов, состоящих из купе.

3. Покупка в магазине – это коллекция товаров. Товары в покупке могут быть в нескольких экземплярах.

4. Тест содержит коллекцию вопросов, а вопрос – варианты ответов.

5. Компьютерная сеть содержит компьютеры, связанные с некими другими компьютерами в сети.

6. Матрица – это коллекция строк (числовых векторов).


 

Работа №3. Файлы и потоки данных

Цель работы.

Изучить возможности.NET Framework по работе с файлами и потоками данных.

 

Постановка задачи.

В работе используется класс-коллекция (см. работу 2). Необходимо:

1. Реализовать методы, позволяющие сохранять и читать данные объектов класса-коллекции из текстового и двоичного файла.

2. Применить при чтении/записи потоки, поддерживающие сжатие информации (по желанию – дополнительно шифровать информацию).

3. Продемонстрировать работу с классами для объектов файловой системы (копирование и переименование файлов, отслеживание изменения состояния файла).


 

Работа №4. Использование XMLи сериализация

Цели работы.

1.Изучить классы.NET Framework для обработки XML-документов.

2.Изучить технологию LINQ to XML.

3. Изучить механизмы сериализации платформы.NET Framework.

 

Постановка задачи.

1. Показать возможность чтения, обработки (поиск, изменение) и записи информации класса-коллекции (см. работу 2) в XML-файл. Использовать различные подходы при работе с XML – LINQ to XML, последовательная обработка XML-файла, DOM.

2. Сериализовать и десериализовать несколько объектов пользовательской коллекции, используя различные форматы сериализации:

а. Двоичный формат (по желанию – собственная реализация ISerializable).

б. XML-сериализация.

в. Контракты данных.


 

Работа№5. Сборки, метаданные, атрибуты

Цель работы.

Освоить механизмы взаимодействия сборок, конфигурирование сборок, работу с метаданными и пользовательскими атрибутами.

 

Постановка задачи.

Необходимо создать приложение, поддерживающее систему плагинов. Основное приложение ищет плагины в папке, имя которой указано в конфигурационном файле. Основное приложение может в любой момент вывести список плагинов. Каждый плагин – это отдельная сборка, содержащая класс, реализующий оговорённый интерфейс. Имя плагина задаётся в виде пользовательского атрибута класса. Основное приложение может загрузить указанный плагин и выполнить его методы.


 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-12-29 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: