XPCOM

Une architecture de composants

Concepts d'une architecture de composants

Les modèles de composants sont une nouvelle forme de programmation orientée objets (OOP : Object Oriented Programming). Microsoft COM en est l'illustration, et XPCOM en reprend certains points de structure.

Les bénéfices de la programmation orientée objets sont conservés. Ainsi, le code est facilement maintenable car divisé en module. De plus, le code est réutilisable.

A cela, les modèles de composants apportent d'autres bénéfices, parmi lesquels :

L'architecture de composants permet de concevoir l'application comme étant un ensemble de composants faisant appel les uns aux autres. Les composants sont ainsi assemblés à l'exécution, et non à la compilation.

Tout est composant

Le langage Java a été conçu de sorte à ce que tout soit objet. Ainsi, lorsque l'on programme en Java, les fonctions (telles que l'on en écrit en langage C) sont des méthodes statiques d'un classe. Seuls les types primitifs ne sont pas objets, mais ils en sont très proches grâce à l'autoboxing introduit par Java 5 (les types primitifs sont automatiquement convertis en objets, si nécessaire).

Dans Mozilla, on peut dire que tout est composant lorsque l'on se place à un niveau assez haut. En effet, l'application est un assemblage de composants. Certes, ceux-ci sont eux-mêmes composés d'objets, mais il reste néanmoins que réaliser une extension de Mozilla passe par la création d'un composant.