Assiste News Dossiers Encyclopédie Comment Logithèque Alternathèque Crapthèque Outils Forum Boutique ? W TDF
|
|
Que sont les ressources communes trouvées dans WinSxS, en particulier les « DLLs » (les « DLLs » ne sont pas les seules ressources communes (partagées) présentes dans WinSxS) ?
Les « DLLs » (Dynamic Link Library) (bibliothèque de liaisons dynamiques) sont des fonctionnalités standards se traduisant par des composants (bouts de programmes standards), exécutant une fonction spécifique courante que l'on va retrouver dans de nombreuses applications. La notion de composants logiciels (une brique logiciel) liés à une architecture logiciel de plus haut niveau (une application) existe depuis toujours, sous divers noms. C'est le concept du DRY ("Don’t Repeat Yourself" - "Ne vous répétez pas").
Les DLLs sont fournies par les éditeurs de logiciels, Microsoft bien entendu, et les grands éditeurs produisant de nombreuses applications (Adobe etc. ...).
Donc, les DLLs, c'est génial... Cela ne présente que des avantages (lire : DRY ("Don’t Repeat Yourself" - "Ne vous répétez pas")) !
On peut voir quelles sont les DLLs utilisées par une application (et autres composants externes), et, éventuellement, rechercher quelles sont les DLLs et autres dépendances manquantes, avec Dependency Walker.
Les notions de " composants liés à l'architecture d'un programme principal ", au moment de sa " post compilation " (phase dite d' " édition des liens "), existe depuis la nuit des temps informatiques.
J'utilisais des éditeurs de liens sur IBM 360 au tout début des années 1970. La dixième édition de ce document d'IBM sur l'édition des liens sous l'OS des IBM 360 remonte à 1972 !
Dans Windows, la notion de composants remonte au tout début de Windows, dès sa version 1.0, en 1985. L'enfer des DLLs conduira Microsoft à réagir avec un magasin de composants contenant toutes les formes de composants utilisées, dont les DLLs. Ce magasin prend le nom de WinSxS, à partir de Windows Vista.
Ce magasin sera protégé, ne pouvant être manipulé que par des applications éligibles au compte utilisateur spécial "TrustedInstaller" et à travers une procédure particulière.
DRY ("Don’t Repeat Yourself" - "Ne vous répétez pas")
L'idée conceptuelle fondatrice des DLL et des Framework (par exemple les Microsoft .Net Framework) est le principe, en programmation informatique, du DRY ("Don’t Repeat Yourself" - "Ne vous répétez pas"). Ce principe est né de manière concomitante aux très grands projets informatiques, nécessitant des millions de lignes de code par application. Ce principe était déjà largement utilisé, bien que non formalisé, au début des années 1970. L'auteur de cet article mettait en œuvre ce principe et l'imposait aux autres, dès 1972, alors qu'il écrivait en Assembleur, Cobol, Fortran...
On réécrit les mêmes "routines" (les mêmes séquences d'instructions), de très nombreuses fois, au sein d'une unique application et, plus encore, à travers toutes les applications. Le principe de développer des briques logiciels, des bibliothèques de fonctions et services, vient de cette observation, dopée aux fantasmes des informaticiens :
- Ne pas réécrire 36 fois la même chose (éviter la redondance de code à travers tout un projet, voire toute la production logicielle de l'éditeur) de manière à gagner du temps et de la place en mémoire, d'autant que dans les années 1970, la mémoire coûtait une fortune.
- Écrire un segment de code une bonne fois pour toutes, de manière parfaite et universelle (documenté, non ambigüe, optimisé...)
- Gagner en vitesse de développement
- Gagner en fiabilité et stabilité (s'appuyer sur des fondations éprouvées)
- Gagner en vitesse de débogage et tests (élever son point de vue et se concentrer sur la conception et l'architecture de l'application)
- Gagner en maintenance et évolution (documentation, universalité, portabilité...)
|
|