ПРИМЕНЕНИЕ КОМПОНЕНТОВ .NET В СОЗДАНИИ ОТКАЗОУСТОЙЧИВОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ > Полезные советы
Тысяча полезных мелочей    

ПРИМЕНЕНИЕ КОМПОНЕНТОВ .NET В СОЗДАНИИ ОТКАЗОУСТОЙЧИВОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

ПРИМЕНЕНИЕ КОМПОНЕНТОВ .NET В СОЗДАНИИ ОТКАЗОУСТОЙЧИВОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Маймистов Д.С. Статья в формате PDF 115 KB

Концепцию мультиверсионного программирования (МВП, multi-version programming - MVP), или N-версионного программирования (НВП, N-version programming - NVP) впервые представил Альгирдас Авижиенис в 1977. Основная идея МВП заключается в том, что для решения отдельных подзадач системы, используется несколько версий одного алгоритма, выполняющихся одновременно. Результаты работы этих алгоритмов анализируются, и из них выбирается один наиболее удовлетворяющий потребностям системы на данный момент времени. Выбор производится согласно внутренней логике системы. Таким образом, достигается повышение надёжности системы в целом. Различных подзадача в сложных системах, реализация, которых использует концепцию мультиверсионного программирования, может быть огромное множество. Очевидно, что для разработки таких систем необходима общая концепция и общий подход в написании алгоритмов, решающих её отдельные подзадачи. На эту роль как нельзя лучше подходит методика компонентного программирования.

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

Самой развитой и совершенной компонентной моделью на сегодняшний день, является модель предложенной корпорацией Microsoft и реализованной ею в новой технологии .NET.

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

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

Пpaктически любой класс в .NET отвечает этим требованиям - метаинформация создаются для любого элемента класса (будь он трижды скрытым), экземпляр любого класса можно динамически создать, и любой класс помещается в сборки (один или более исполнимых модулей), которые можно распространять независимо. Таким образом, получается, что любой класс в .NET может выступать как компонент. Но на самом деле это не так. И причиной тому наличие в библиотеке .NET отдельного класса Component. Любой класс, что бы иметь возможность взаимодействовать с интегрированной средой разработки должен быть унаследован от класса Component.

На основе выше приведённого описания основных концепций компонентной модели .NET, можно сделать вывод о том что .NET компоненты обладают следующими преимуществами по сравнению с компонентами, в основе которых лежат иные концепция и технология:

  • Возможность интегрировать компонент в любую среду разработки, поддерживающую соответствующие стандарты Microsoft
  • Возможность написания и распространения компонент сторонними разработчиками
  • Возможность написания компонент в различных средах разработки и на различных языках программирования, поддерживающих соответствующие стандарты Microsoft

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

СПИСОК ЛИТЕРАТУРЫ

  1. Владислав Чистяков. «.Net - классы, компоненты и контролы» RSDN Magazine №3 2003г.
  2. Котенок А.В. Построение среды мультиверсионного исполнения программных модулей. Вестник НИИ СУВПТ: Сб. научн. трудов; Красноярск: НИИ СУВПТ.- 2003. Вып. 14.- С. 13-21.


ОСТРЫЕ КИШЕЧНЫЕ ИНФЕКЦИИ (учебное пособие)

ОСТРЫЕ КИШЕЧНЫЕ ИНФЕКЦИИ (учебное пособие) Статья в формате PDF 137 KB...

24 05 2026 18:38:28

НЕСТАНДАРТНЫЕ ЗАДАЧИ КАК ИНСТРУМЕНТ ДЛЯ РАСШИРЕНИЯ ЕСТЕСТВЕННО- НАУЧНОГО КРУГОЗОРА УЧАЩИХСЯ

НЕСТАНДАРТНЫЕ ЗАДАЧИ КАК ИНСТРУМЕНТ ДЛЯ РАСШИРЕНИЯ ЕСТЕСТВЕННО- НАУЧНОГО КРУГОЗОРА УЧАЩИХСЯ Нестандартные задачи в педагогической пpaктике создают благоприятные условия для качественной подготовки учащихся, быстрой адаптации в окружающем мире и малознакомых предметных областях, стимулируют самообразование, формируют научную картину мира и являются инструментом для расширения естественнонаучного кругозора учащихся. ...

20 05 2026 9:46:19

БИОХИМИЧЕСКИЕ И ИММУНОЛОГИЧЕСКИЕ ПОКАЗАТЕЛИ КРОВИ У БОЛЬНЫХ С ХЛАМИДИЙНОЙ И УРЕАПЛАЗМЕННОЙ ИНФЕКЦИЯМИ В УСЛОВИЯХ СРЕДНЕГО ПРИОБЬЯ (СУРГУТ)

БИОХИМИЧЕСКИЕ И ИММУНОЛОГИЧЕСКИЕ ПОКАЗАТЕЛИ КРОВИ У БОЛЬНЫХ С ХЛАМИДИЙНОЙ И УРЕАПЛАЗМЕННОЙ ИНФЕКЦИЯМИ В УСЛОВИЯХ СРЕДНЕГО ПРИОБЬЯ (СУРГУТ) Проведены биохимические и иммунологические исследования крови у больных с урогeнитaльными инфекциями в условиях Среднего Приобья. Отмечены патологические изменения показателей белкового, липидного обменов и активация белков острой фазы. Наблюдалось резкое повышение активности креатинкиназы в крови всех групп больных. Результаты иммунологических исследований показали изменения В-клеточного звена в сторону увеличение уровня иммуноглобулинов IgG, IgA и снижение активности Т-клеточного звена иммунитета. ...

15 05 2026 14:25:56

ПРОБЛЕМЫ ВЫСШЕГО ОБРАЗОВАНИЯ

ПРОБЛЕМЫ ВЫСШЕГО ОБРАЗОВАНИЯ Статья в формате PDF 125 KB...

14 05 2026 7:24:46

ДАШКЕВИЧ ЮРИЙ МИХАЙЛОВИЧ

ДАШКЕВИЧ ЮРИЙ МИХАЙЛОВИЧ Статья в формате PDF 64 KB...

12 05 2026 0:13:12

ХРОНИЧЕСКИЙ БРОНХИТ У ПРОМЫШЛЕННЫХ РАБОЧИХ

ХРОНИЧЕСКИЙ БРОНХИТ У ПРОМЫШЛЕННЫХ РАБОЧИХ Статья в формате PDF 100 KB...

10 05 2026 11:11:55

56 интересных фактов о ежах

56 интересных фактов о ежах Колючки ежа на самом деле являются измененными волосами...

07 05 2026 18:23:32

ФОРМИРОВАНИЕ СТРУКТУРНОГО МОДУЛЯ ДЛЯ МОДУЛЯРНОГО ДИЗАЙНА В 3D ПРОСТРАНСТВЕ

ФОРМИРОВАНИЕ СТРУКТУРНОГО МОДУЛЯ ДЛЯ МОДУЛЯРНОГО ДИЗАЙНА В 3D ПРОСТРАНСТВЕ Обсуждается проблема формирования структурных модулей, которые предназначены для конструирования невырожденных модулярных 3D структур кристаллов. ...

06 05 2026 8:45:41

ФИЛОСОФСКИЕ АСПЕКТЫ ЭВОЛЮЦИИ ЭКОЛОГИЧЕСКИХ ИДЕЙ

ФИЛОСОФСКИЕ АСПЕКТЫ ЭВОЛЮЦИИ ЭКОЛОГИЧЕСКИХ ИДЕЙ Статья в формате PDF 181 KB...

01 05 2026 20:39:52

Теоретические основы эффективного обеспечения эколого-экономической стабилизации состояния Тюменского региона

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

18 04 2026 15:42:15

Еще:
Поддержать себя -1 :: Поддержать себя -2 :: Поддержать себя -3 :: Поддержать себя -4 :: Поддержать себя -5 :: Поддержать себя -6 :: Поддержать себя -7 :: Поддержать себя -8 :: Поддержать себя -9 :: Поддержать себя -10 :: Поддержать себя -11 :: Поддержать себя -12 :: Поддержать себя -13 :: Поддержать себя -14 :: Поддержать себя -15 :: Поддержать себя -16 :: Поддержать себя -17 :: Поддержать себя -18 :: Поддержать себя -19 :: Поддержать себя -20 :: Поддержать себя -21 :: Поддержать себя -22 :: Поддержать себя -23 :: Поддержать себя -24 :: Поддержать себя -25 :: Поддержать себя -26 :: Поддержать себя -27 :: Поддержать себя -28 :: Поддержать себя -29 :: Поддержать себя -30 :: Поддержать себя -31 :: Поддержать себя -32 :: Поддержать себя -33 :: Поддержать себя -34 :: Поддержать себя -35 :: Поддержать себя -36 :: Поддержать себя -37 :: Поддержать себя -38 ::