Многократное использование программных систем. Основы визуального и компонентного программирования
Одним из главных преимуществ объектно-ориентированного программирования является возможность многократного использования разработанного программного обеспечения. Под этим понимается возможность использования фрагмента кода, разработанного для одной системы, в других системах. Разумеется, этот фрагмент кода должен представлять собой логически более или менее законченный модуль. Это может быть функция, подпрограмма, объект, компонент, подсистема или целиком система. Реальное ускорение процесса разработки программного обеспечения возможно только тогда, когда конкретная программная система разрабатывается не с нуля, а используя готовые составные части.
Многократное использование кода – это идеальный вариант передачи знаний. Труд, знания и опыт разработчика, заложенные уже в готовом продукте – программном коде, – передаются без потерь.
Конечно, и раньше для процедурно-ориентированных языков программирования типа Фортран, Паскаль или Си создавались библиотеки функций, реализующих наиболее употребимые алгоритмы обработки данных.
В рамках объектно-ориентированного подхода разрабатываются библиотеки классов. Использование библиотек классов повышает скорость разработки программ и экономит значительные усилия разработчиков. Однако нельзя сказать, что у них нет недостатков.
Использование библиотек классов требует определенных усилий для их изучения и понимания того, как они устроены. Современные среды программирования используют различные графические средства построения программ, которые позволяют визуально манипулировать программой и упростить разработку классов, однако их возможности при работе с библиотеками классов ограниченны.
Библиотека классов должна быть написана на том же языке программирования, что и разрабатываемая программа.
Для того чтобы воспользоваться библиотекой, необходимо написать программу с вызовами нужных функций или порождением необходимых классов и оттранслировать эту программу.
Подобные соображения привели к появлению концепции компоненты, Компонента – это программный модуль или объект, который готов для использования в качестве составного блока программы и которым можно визуально манипулировать во время разработки программ.
Чем отличается компонента от класса в библиотеке классов или функция в библиотеке функций?
Во-первых, компонента – это объект, т.е. компонента объединяет состояние и интерфейс. Состояние компоненты может быть изменено только с помощью посылки сообщений (вызова операций).
Во-вторых, у компоненты имеются два типа интерфейсов:
– интерфейс времени выполнения,
– интерфейс времени проектирования.
Интерфейс времени выполнения – это тот интерфейс, который управляет работой компоненты.
Интерфейс времени проектирования – это интерфейс, который позволяет узнать, каков интерфейс времени выполнения. Интерфейс времени проектирования позволяет включать компоненты в современные среды программирования. Кроме того, интерфейс времени проектирования позволяет опрашивать компоненту уже во время выполнения, динамически проверяя, какие методы и интерфейсы она реализует.
В-третьих, неважно, на каком языке программирования разработана компонента. Более того, совершенно не обязательно, чтобы компонента была реализована с помощью объектно-ориентированного языка программирования. Она должна удовлетворять определенным внешним характеристикам, но ее реализация полностью закрыта. В идеале компонента должна быть нейтральна по отношению к языку программирования, т.е. ее можно использовать в программе на любом языке, который поддерживает компонентную технологию.
Компонента может быть включена непосредственно в программу (локальная компонента) или существовать независимо, в том числе и на другом компьютере.
Отличительными признаками локальной компоненты является то, что она включается в программу на стадии разработки и существует только как часть вызывающей ее программы. Физически копия компоненты может быть одна для нескольких программ, либо каждая программа создает собственную копию. Однако логически они независимы, и вызывающая программа управляет созданием и уничтожением компоненты.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.