J'ai un composant de messagerie que j'intègre dans mon application, à la recherche de quelques conseils sur la façon de construire un wrapper autour de lui afin que je puisse l'échanger avec un autre 3e composant de fête si nécessaire.créer un wrapper autour d'un assemblage tiers - échanger et déconnecter
Ma bonne approche est maintenant:
- construire une interface la fonctionnalité je besoin.
- créer une classe qui implémente l'interface, en utilisant mon composant tiers dans cette classe.
toute utilisation de ce composant sera via l'interface de manière analogue:
ipop3 pop3 = new AcmeIncePop3Wrapper(); pop3.connect();
et à l'intérieur AcmeIncePop3Wrapper sera:
public void connect()
{
AcmeIncePop3 pop = new AcmeIncePop3();
pop.connect();
}
Est-ce une bonne approche?
Je pourrais probablement ajouter une autre abstraction en utilisant ninject pour pouvoir échanger des implémentations, mais cela semble être tout ce dont j'ai besoin car je ne m'attends pas à changer tous les jours d'assemblées tierces, je ne veux pas rendre les choses si étroitement couplées.
bonne idée, je peux créer une méthode qui fait quelque chose comme: GetPop3Object(), donc je dois changer le code dans un endroit pour échanger des implémentations. – mrblah
Ouais, c'est l'idée. Je ne suis pas vraiment sûr de la meilleure façon de le mettre en œuvre. Regardez dans le modèle Factory pour plus de détails. –