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 :
- le développement peut plus facilement être confié à des équipes différentes ;
- la mise à jour d'un composant ne nécessite pas la recompilation des autres composants. Toutefois, la modification de l'interface du composant nécessite la recompilation des composants qui utilisent celle-ci. En toute logique, l'interface doit être figée tout au long des développements.
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.