Главная » C#, Компоненты » Особенности разработки компонентов

0

В отличие от обычного класса, разработка компонента имеет особенности, которые следует учитывать, принимая решение о создании компонента.

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

Во-вторых, компонент имеет три интерфейса: интерфейс времени выполнения, интерфейс времени проектирования и программный интерфейс.

Интерфейс времени выполнения — это поведение компонента во время работы конечной программы. Например, компонент MaskEdit имеет поле ввода и умеет проверять правильность вводимых данных. Поведение времени выполнения складывается как из кода, заложенного в сам компонент, так и из кода, созданного пользователем компонента, с помощью обработчиков событий.

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

Программный интерфейс — это свойства, методы и события, которые позволяют компонентам общаться между собой и с основной программой.

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

Литература:

Агуров П. В. C#. Разработка компонентов в MS Visual Studio 2005/2008. – СПб.: БХВ-Петербург, 2008. — 480 е.: ил.

По теме:

  • Комментарии