Понятие компонента, компонентной модели - Курсовая работа

бесплатно 0
4.5 74
Создание консольного компонента и его тестирование. Интерфейс Icomponent и класс Component. Визуальные и не визуальные компоненты в дизайнере формы. Характеристика особенностей компонентно-ориентированного программирования и области его применения.


Аннотация к работе
Пожалуй, наиболее существенным нововведением идеологии Microsoft .NET является компонентно-ориентированный подход к программированию. Следует отметить то обстоятельство, что компонентно-ориентированный подход к проектированию и реализации программных систем и комплексов является в некотором смысле развитием объектно-ориентированного программированного и практически более пригоден для разработки крупных и распределенных систем (например, корпоративных приложений). Например, при применении неограниченного объектно-ориентированного подхода характерна проблема хрупких базовых классов - ситуация, когда изменить реализацию типа-предка невозможно, не нарушив корректность функционирования типов-потомков. Компонентно-ориентированный подход позволяет через понятие компонента объединить в группу связанные конструкции и определить схемы и правила для них, избежать подобного рода проблем.Свойства дают возможность управлять видом и поведением компонента, методы - использовать возможности, предоставляемые компонентом, а события-реагировать на происходящие внутри компонента события, программировать реакцию компонента на внешние события и т. д. Это означает, что компонент может использовать любая программа, которой требуются его функции. Программа, которая использует компонент, называется клиентом. Для того чтобы клиент мог использовать компонент, необходимо, чтобы и клиент, и компонент использовали один и тот же набор правил. Несмотря на то что для создания компонента достаточно реализовать интерфейс Icomponent, намного проще создать класс, производный от класса Component, поскольку он реализует интерфейс Icomponent по умолчанию.Среди основных компонентов, которые понадобятся при создании будильника, можно выделить следующие элементы: текстовое поле TEXTBOX для ввода некоторых значений, метки label, содержащие определенную информацию о файлах, три кнопки, по щелчку на которые будут происходить определенные действия, а также маска текстовое поля MASKEDTEXTBOX, которая позволяет задать значения элемента заданного поля в соответствии с выбранной пользователем маской. По нажатию на эту кнопку сработает обработчик события Onclick, код которого приведен ниже. private void button2_Click(object sender, EVENTARGS e) Данная функция проверяет, соответствует ли время, введенное в поле label2 тому, что находится в поле label1. Стоит отметить, что в поле label1 находится текущее время, которое записывается туда при помощи функции timer1_tick: private void timer1_Tick(object sender, EVENTARGS e) // наследует класс Component. public class CIPHERCOM : ComponentОрганизация приложения в виде набора компонентов - это мощное средство программирования, позволяющее программисту справляться с более сложными задачами. Программисты в начале своей деятельности замечают, что чем больше программа, тем дольше период ее отладки. С увеличением размера программы обычно растет и ее сложность, но известно, что существует некоторый предел сложности, с которым может справиться человек. Путем разделения программы на независимые компоненты программист может понизить видимый уровень ее сложности. При компонентно-ориентированном подходе программа организуется как набор строго определенных "строительных блоков" (компонентов), которые можно использовать, не вникая в детали их внутренней реализации.

Введение
Пожалуй, наиболее существенным нововведением идеологии Microsoft .NET является компонентно-ориентированный подход к программированию. Следует отметить то обстоятельство, что компонентно-ориентированный подход к проектированию и реализации программных систем и комплексов является в некотором смысле развитием объектно-ориентированного программированного и практически более пригоден для разработки крупных и распределенных систем (например, корпоративных приложений).

Компонентно-ориентированное программирование в применении к объектно-ориентированным языкам подразумевает набор ограничений, налагаемых на объектные механизмы, нацеленные, прежде всего, на повышения надежности больших программных комплексов. Например, при применении неограниченного объектно-ориентированного подхода характерна проблема хрупких базовых классов - ситуация, когда изменить реализацию типа-предка невозможно, не нарушив корректность функционирования типов-потомков. Компонентно-ориентированный подход позволяет через понятие компонента объединить в группу связанные конструкции и определить схемы и правила для них, избежать подобного рода проблем.

Компонентно-ориентированный подход появился в 1987 году, когда Никлаус Вирт предложил для языка Оберон паттерн написания блоков. Данный паттерн сформировался при изучении проблемы хрупких базовых классов, возникающей при построении объемной иерархии классов. Паттерн заключался в том, что компонент компилируется отдельно от других, а на стадии выполнения необходимые компоненты подключаются динамически.

Что касается самого компонентно-ориентированного подхода, то он может применяться во многих языках программирования с помощью стандартных конструкций, таких как классы, интерфейсы, пакеты, модули. В платформе .NET реализован компонентно-ориентированный подход, обеспечивающий создание и повторное использование компонентов для любого языка программирования, поддерживаемого платформой.

В данной курсовой работе рассматриваются концептуальные положения, связанные с компонентно-ориентированным программированием.

Целью курсовой работы является изучение понятия программного компонента и создание своих компонентов, внедрение их в приложения. консольный программирование icomponent

Вывод
Организация приложения в виде набора компонентов - это мощное средство программирования, позволяющее программисту справляться с более сложными задачами. Программисты в начале своей деятельности замечают, что чем больше программа, тем дольше период ее отладки. С увеличением размера программы обычно растет и ее сложность, но известно, что существует некоторый предел сложности, с которым может справиться человек. С точки зрения чистой комбинаторики, чем больше в программе отдельных строк, тем больше шансов получить побочные эффекты и нежелательные взаимосвязи.

Программные компоненты помогают справиться со сложностью программ по принципу "разделяй и властвуй". Путем разделения программы на независимые компоненты программист может понизить видимый уровень ее сложности. При компонентно-ориентированном подходе программа организуется как набор строго определенных "строительных блоков" (компонентов), которые можно использовать, не вникая в детали их внутренней реализации. Суммарный эффект такого подхода состоит в снижении общей сложности программы. Сам собой напрашивается логический вывод: приложение может состоять только из одних компонентов, связанных между собой таким образом, что один компонент поставляет "питание" для другого. Такую организацию программ можно назвать компонентно-ориентированным программированием.

При такой мощности компонентов и простоте их создания в С# на вопрос: "Компоненты - это будущее программирования?" многие программисты отвечают без колебаний: "Да!"

В ходе курсовой работы было рассмотрено понятие компонента и компонентной модели в языке программирования С#. Были определены достоинства и недостатки такого подхода к решению задач.

Также было разработано визуальное приложение, представляющее из себя модель будильника. В приложении были использованы компоненты Windows Forms. Был разработан пример консольного приложения, а также показано, как компоненты подключаются к существующей сборке.

Литеритура

1. Троелсен Э. Язык программирования С# 2010 и платформа .NET 4.0/ Э. Троелсен. - Москва: Вильямс, 2011.- 1392 с.

2. Шилдт Г. С# 4.0: полное руководство / Г. Шилдт. - Москва: Вильямс, 2012.- 1056 с.

3. Стиллмен Э. Изучаем С# / Э. Стиллмен, Дж. Грин.- Санкт - Петербург: Мир книг ,2012 .- 694 с.

Размещено на .ru
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?