Про компонентно-ориентированное программирование:
= RU.PHP ===========
Msg : 19780 of 19942
From : Nikolai Chuvakhin 2:5020/175.2 Mon 14 Jul 03 22:46
To : Sergey
Subj : Объектно-компонентное программирование в PHP
====================
Mon Jul 14 2003 19:47, Sergey wrote to All:
S> Кто-нибудь слышал про компонентное программирование, или еще называют
S> объектно-компонентное программирование (ОКП)?
Если я ничего не путаю, то обычно говорят о компонентно-ориентированном
программировании.
Компонентно-ориентированное программирование было предложено Hиклаусом
Виртом году эдак в 1987. Основная идея: функционально законченный кусок
кода (компонент) должен компилироваться, даже если ресурсы, на которые
он ссылается (другие компоненты), недоступны в период компиляции. Более
того, этот компонент должен штатно работать в отсутствие этих ресурсов,
если они не требуются в текущем режиме, и поднимать хай, только если
внешние ресурсы нужны. Другими словами, компонентная программа компонуется
во время исполнения, а не во время компиляции.
В 1989 году Бертран Мейер предложил еще одну общую идею компонентно-
ориентированного программирования: рассматривать интерфейс как контракт
между вызывающим компонентом и вызываемым компонентом. В идеале такой
подход способен привести к появлению компонентов, которые написаны
на различных языках программирования и работают на разных ОС, но
тем не менее способны общаться друг с другом. Hа практике это
реализовано в SOAP, но в SOAP компоненты общаются друг с другом по
HTTP, а это не самый быстрый способ. Поэтому достаточно популярными
остаются менее универсальные, но более производительные компонентные
модели: COM, которая работает только на Windows, и Java, у которой есть
своя собственная компонентная модель. Есть еще CORBA, но она достаточно
сложна в реализации.
S> Интересует применение этого подхода в PHP
S> У кого есть инфа, поделитесь или киньте ссылки на эту тему.
Поиграйте с NuSOAP:
http://dietrich.ganx4.com/soapx4/
Этот пакет позволяет быстро разрабатывать и клиентов, и провайдеров.
SA> Где бы найти теорию по компонентно-ориентированому подходу,
Читайте Сциперского:
1. Последняя книга:
Clemens Szyperski, "Component Software: Beyond Object-Oriented
Programming," 2nd edition, Addison Wesley Professional, 2002,
624 pp (ISBN: 0-201-74572-0)
2. Домашняя страничка:
http://research.microsoft.com/~cszypers/
Там же, кстати, есть документы всех семи международных симпозиумов
по компонентному программированию. Последний, седьмой:
http://research.microsoft.com/~cszypers/events/WCOP2002/
Есть еще домашняя страничка Вольфганга Века (если я правильно помню,
Век и Сциперский были докторантами у Вирта в ETZ):
http://www.abo.fi/~Wolfgang.Weck/
и небольшая библиотечка на сайте Oberon microystems:
http://www.oberon.ch/resources/
С уважением, Hиколай Чувахин
-----------------