ПредишенСледващото

Идеята за компонент, модел компонент, компонент-ориентираното програмиране на

Наименование на работа: Концепцията за компонент, модел компонент, компонент-ориентираното програмиране

Специализация: информатика, кибернетика и програмиране

Описание: Това, което е компонент на компонент броня. В програмирането, компонента е градивен елемент на програмата се състои от свойствата на свойствата на методи методи и събития събития. Свойствата позволяват да се контролира външния вид и поведението на компонента методи използват възможностите, предоставени от събитията на съставните и реагират на събития, настъпили в рамките на програмирана реакция компонент на компонента за външни събития, и така нататък.

Размер на файла: 61 KB

изтеглен на работа: 43 души.

Идеята за компонент, модел компонент, компонент-ориентираното програмиране на

1. Каква е компонент

Компонент (лат с omponent -. Компонент) - част, нещо елемент. В програмния компонент # 151; Тази "тухли" на програмата, състояща се от свойства (свойства), методи (методи) и събития (събития). Имоти позволяват да контролирате външния вид и поведението на методите на съставните # 151; Execu? Покана от възможностите, предоставени от компонент и събития # 151; отзивчиви към събития, настъпили в рамките на компонент на програмата компонент реагира на външни събития и други подобни. г.

Разработване на програма с помощта на компоненти, наречени компонент-ориентираното програмиране.

Ще започнем с определение на компонент за програмиране. компонент # 151; Тя е независим модул, който е предназначен за многократна употреба и предоставя на потребителя в двоичен формат. Това определение описва четири ключови компоненти характеристики. Нека да ги разгледа на свой ред.

Един компонент се определя като самостоятелен модул. Това означава, че всеки компонент е напълно независим. С други думи, на компонента предоставя пълен набор от функции. Нейните вътрешната изработки затворени за "външния свят", но изпълнението може да бъде променена без това да повлияе на кода, в който се използва компонента.

Компонентът е предназначен за многократна употреба. Това означава, че компонент може да се използва от всяка програма, която изисква от своите функции. Програма, която се използва компонент, наречен на клиента. По този начин, на компонента, може да работи с неограничен брой клиенти.

Компонент е отделен модул. Това е много важно. От гледна точка на компонента на клиент изпълнява специфична функция, или набор от функции. Функциите на компонента могат да се използват от всяко приложение, но компонентът не е самостоятелна програма.

И накрая, на компонента трябва да бъдат представени в двоичен формат. Това е от основно значение. Въпреки, че компонентите могат да се използват от много клиенти, те не разполагат с достъп до изходния код. Функционалността на компонента е отворен за клиенти само чрез своите публични членове. С други думи, това е контрол на компонентите, които функции остават отворени за клиенти, както и това, което # 151; държа "под ключ".

2. Компонент Модел

В основата си също е важен модел, който реализира компонентите. За да може клиентът да използва компонент, е необходимо, че и на клиента и на компонента се използва един и същ набор от правила. А набор от правила, които определят формата и поведението на компонент, и се нарича компонент модел. Този модел компонент определя от естеството на взаимодействието на компоненти и модели. Компонент Модел-малко важно, защото са предназначени за многократна употреба компонент, предоставена на потребителя в двоичен формат, могат да бъдат приложени по различни начини, а броят на тези методи може да бъде много голям. Например, има много различни методи за предаване и приемане на параметрите стойности. Възможно е също така да се разпределят по различен (и освобождаване) на паметта (и други системни ресурси) за обекти. Ето защо, за ефективно използване на клиентски компоненти и самите компоненти трябва да се съобразява с правилата, определени модел компонент. В действителност, компонент модел е един вид договор между клиента и компонентът, че и двете страни са съгласни да изпълняват.

Преди създаването на C # и околната среда. NET Framework-голямата част от компонентите са COM компоненти. COM е създаден за традиционния Windows среда и C ++. Поради това по принцип не е в състояние да се възползват от новите техники за управление на паметта се осъществява в C # и. NET Framework. В резултат на това договорът за COM е доста трудно, и ненадеждни. За щастие, C #, както и на околната среда. NET Framework са лишени от почти всички проблеми на своите предшественици.

3. Какво е C # -components

Поради особеностите на работата означава C # език, всеки в своя клас е в пълно съответствие с общото определение за компонент. Например, когато се съставя, клас (в двоична форма) може да се използва в различни приложения. Но означава ли това, че всеки клас е компонент? Отговорът е не. С цел да се превърне в елемент от класа, той трябва да следва модела на компонент, определена среда. NET Framework. За щастие, това не е трудно да се постигне: клас трябва да изпълни интерфейс на системата. ComponentModel. IComponent. При изпълнението интерфейс компонент IComponent отговаря на набор от правила, която позволява на компонента да бъдат съвместими с околната среда. Framework.

Въпреки простотата на изпълнението на интерфейса на IComponent. в много ситуации е по-добре да се използва алтернативен вариант - клас System. ComponentModel. Компонент. Компонентът класа предоставя стандартен изпълнение на интерфейса на IComponent. Той също така поддържа и други полезни инструменти, присъщи компоненти. Опитът показва, че по-голямата част от компонентите на основателите е по-удобно да ги премахнете от Компонент клас. от себе си, за да изпълни IComponent интерфейс. защото в първия случай, просто по-малко програмиране. Ето защо, в C #, за да създадете компонент не изисква "героични усилия" от страна на програмиста.

4. Контейнерите и единици

С C # -components са тясно свързани две други конструкции: контейнери и компоненти.

контейнер # 151; група компоненти. Контейнери улесняват програма, в която редица компоненти, използвани.

Node позволява свързващи компоненти и контейнери.

5. Интерфейс IComponent

IComponent интерфейс определя правилата, които трябва да се спазват от всички компоненти. Интерфейсът на IComponent определено само от един имот и едно събитие. Ето как да декларират имущество на сайта.

Имоти сайт получава или задава компонент събрание. Node идентифицира компонент. Този имот е нула-стойност, когато компонентът не се съхранява в контейнера.

Събитията са определени в IComponent интерфейс. Разположени носи името и се обявява, както следва:

събитие EventHandler изхвърлят

Клиентът, който трябва да бъде уведомен в унищожаването на компонента регистрира събитие от събитие изхвърлят. IComponent интерфейс също наследява интерфейса на системата. IDisposable. характеризиращ се изхвърли () метод е определено:

Този метод освобождава ресурсите, използвани.

6. Компонент клас

Въпреки факта, че създаването на компонента е достатъчно да се приложи IComponent интерфейс. Тя е много по-лесно да се създаде клас, който произлиза от Компонент клас. защото тя изпълнява IComponent интерфейс по подразбиране. Ако една от клас наследява от Компонент клас. Ето защо, той автоматично се изпълнява правилата, необходими за да се получи. NET-съвместим компонент.

Компонентът клас определя само конструктор по подразбиране. обикновено
програмисти не създават Компонент клас обект директно, тъй като основната цел на този клас # 151; да бъде основа за генерираните компоненти.

обществен IContainer Container

Контейнер имот връща контейнер, който съдържа компонента призвание. Ако компонентът не се яви в съда, той се връща нула. Трябва да се помни, че наборът от имот Контейнерът не е компонент и контейнер.

Вторият имот, Сайта. дефинирани в интерфейса на IComponent. Компонентът клас се реализира като виртуално:

публична виртуална ISite сайта

Имоти сайт получава или определя ISite на тип обект. свързани с компонент. Тя връща pi11 ако компонент в контейнер не. собственост на сайта е настроен не компонент и контейнер.

Компонентът клас определя две общите методи. Първият метод е замяна ToString (). Второ, изхвърли () метод. Той се използва в две форми. Първият от тях е, както следва:

обществени невалидни Изхвърлете ();

Изхвърлете () метод, наречен в първата форма освобождава всички ресурси, използвани от компонента за разговори. Този метод прилага метод на Изхвърлете () са определени в Системата за интерфейс. IDisposable. За да освободите компонентите и ресурсите, които те заемат клиентски обаждания тази версия метод Изхвърлете ().

Тук е втората форма на Изхвърлете метод ().

защитена виртуална обществени невалидни Изхвърлете (булев как);

Ако този параметър е как е вярно. Тази версия на метода освобождава двете контролирани и неконтролирани ресурси, използвани от повикващия.

Ако това как е лъжа на стойност. Той освобождава само неуправляеми ресурси. Тъй като тази версия на Изхвърлете метод () е защитен (защитена), не могат да бъдат достъпни от кода на клиента. Поради това, клиентът ползва първата версия. С други думи, първата версия на метода се обадя Изхвърлете () генерира призив да се разпорежда метод (булев как).

Като цяло, компонент, който вече не е необходимо, се наложи над версия на Изхвърлете (булев как), ако той съдържа ресурсите, които трябва да се освободи. Ако компонентът не заема никакви ресурси, а след това за освобождаването му достатъчно стандартен метод изпълнение Изхвърлете (булев как), дефинирана в класа Component.

Компонентът клас наследява MarshalByRefObject клас. който се използва, когато компонентът е създаден извън местната околна среда, например в друг процес или друг компютър, свързан с първата мрежа. За обмен на данни (аргументи и връща стойности на методи) трябва да бъде механизъм, който ще определи метода на предаване на данни. По подразбиране се приема, че информацията трябва да бъде приет от стойност, но данните за MarshalByRefObject наследство класа ще бъдат предавани чрез връзка. По този начин, C # -Components предава данните за връзка.

7. компоненти: предимства и недостатъци

Компонент ориентирано развитие има свои собствени силни и слаби страни. Несъмнено предимство е за многократна употреба, за да? Да, консистенцията на потребителския интерфейс, възможност за бързо и продуктивни програми за развитие. Ето компоненти позволяват това? Програмистите правят крайния продукт на "градивните елементи", без да навлиза в подробности за изпълнението на конкретен компонент. Разбира се, набор от класове, използвани в обектно-ориентиран подход, също даде възможност за повторно използване на кода, но съставките правят код повторна употреба напълно естествено.

Ако екипът на система за проектиране на всички програмисти използват един и същ набор от визуални елементи, а след това, разбира се, в интерфейса на програмата ще бъде изпълнена в същия стил. Освен това, чрез промяна, например, с изглед към един от компонентите, ние ще се промени външния му вид, където и да се използва.

Компонентите позволяват на независим развитието на интерфейса. Промени в компонент не влияе код модули, в които се използва. Разработване на няколко независими класове дава за същите резултати, с изключение на един проблем. Сред програмисти средно

квалификация тенденция да се смесват класове функционалност, объркващи методи за един клас с друг. Компоненти дял код по-ефективно.

Най-накрая, след като е натрупан достатъчен брой компоненти, които могат да бъдат много по-бързо да се създаде визуален интерфейс на програмата, в действителност, без писане на нито един ред код!

Същото ще трябва да плати за всичко това? Не е изненадващо, звуци, но ще трябва да плати на обектно-ориентиран подход. Гъвкавостта да контролират поведението на компоненти с събитие цели писането на "събитие, ориентирани към" код. Да предположим, например, ние се нуждаем от компонент за показване на цветни линии. Обектно-ориентиран подход изисква от нас да се създаде наследник ListBox клас и reimplement Paint () да се приложи чертеж цветни линии. За да се реализира OnPaint събитие и не създава никакви класове избутва много програмисти да използвате събитията в ущърб на обектно-ориентиран подход. Тя "избутва", т.е.. А. Никой не си прави труда да се създаде нов компонент, който може да се направи цветна линии на базата на съществуващ ListBox компонент. Този подход ще бъде най-верен # 151; защото такива съставки могат да бъдат използвани!

Друга такса удобство # 151; необходимостта от гъвкави компоненти. Няма никакъв смисъл да се напише компонент, който привлича само линии на червено. Такъв компонент ще бъде трудно да се използва навсякъде, с изключение на това, че програмата, за която първоначално е замислена. Много по-правилно писане компонент рисунка линия определен цвят, а цвета в неговите качества правят (или по някакъв начин се съхранява в рамките на низ). Това е такъв компонент може да се използва във всяка програма. Тази гъвкавост изисква някои допълнителни усилия, необходими разходи, които не винаги са очевидни в развитието на една програма, но тя се отплаща, когато повторно използване на компоненти.

За да обобщим този аргумент, можем да кажем, че целта на разработването на нов компонент # 151, създаване на нова функционалност, която не зависи от моето, но гъвкаво конфигуриране част които позволяват повторна употреба ?.

Визуалните и не-визуални компоненти в дизайнерските форми

Библиотека. NET Framework има два вида компоненти: визуална и nevizualnye. Визуалните елементи са елементи на потребителския интерфейс. Това, например, на компонента: бутон (), ComboBox (ComboBox) или етикет (Label). Non-визуални компоненти не са с потребителски интерфейс и не могат да бъдат разположени на формата. Visual Studio дизайнер ги поставя в долната част на прозореца на дизайнер. Тези компоненти са, например, компонентите работят с бази данни, таймер (Таймер), работната компонент от серийния порт (SerialPort) и др.

Pong vzhe страдат от molodshomu shkіlnomu vіtsі чрез удобно pobudovane navchannya sformuvati zdіbnostі osobistostі да samovdoskonalennya samorozvitku samopіznannya. Преподаватели otrimayut vіdpovіd як zrobiti обитатели кожни ditina vіrila в svoї Sealy vikladalas на Povny сила svoїh іntelektualnih mozhlivostey че virosla vpevnenoyu в sobі Lyudin postupovo часа navchannya в Shkolі vіri на nabuvala vmіnnya vchitis vіryachi vlasnі в Sealy че vpevneno nabuvayuchi zagalnolyudskі umіnnya че navichki. проект Realіzatsіya Vіri училище по себе си.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!