Une discussion que j'ai eue avec un collègue aujourd'hui.
Il prétend que chaque fois que vous utilisez une 3ème partie de la bibliothèque, vous devez toujours écrire un wrapper. De sorte que vous pouvez toujours changer les choses par la suite et accueillent les choses pour votre utilisation spécifique.
Je suis en désaccord avec le mot toujours, la discussion a eu lieu concernant log4j et j'ai prétendu que log4j a bien testé et prouvé par temps de l'API et la mise en œuvre, et tout le pensable, peut être configuré de manière a posteriori et il n'y a rien que vous devez envelopper. Même si vous voulais terminer sont avérés wrappers comme commons-logging et log5j.
Un autre exemple que nous avons évoqué dans notre discussion est mise en veille prolongée. Je vous avais dit qu'il a un très gros API d'être enveloppé. En outre, il a une couche API qui vous permet de modifier son à l'intérieur si vous avez besoin. Mon ami a affirmé qu'il croit encore qu'il doit être enveloppé, mais il ne l'a pas fait en raison de la taille de l'API (ce collègue est beaucoup vétéran que moi dans notre projet actuel).
J'ai donc fait cela, et que l'emballage doit être fait dans des cas particuliers:
- vous n'êtes pas sûr de savoir comment la bibliothèque adaptée à vos besoins
- vous n'utiliser qu'une petite partie d'une bibliothèque (dans ce cas, vous ne pouvez exposer une partie de son API).
- vous n'êtes pas sûr de la qualité de la bibliothèque de l'API ou de la mise en œuvre.
J'ai aussi maintenu que, parfois, vous pouvez envelopper votre code à la place de la bibliothèque. Par exemple, les ranger votre base de données de code associé à une couche DAO, au lieu de préventivement d'emballage tout d'hibernate.
Eh bien, en fin de compte ce n'est pas vraiment une question, mais vos idées, les expériences et les opinions sont très appréciés.