Salut,
J'aimerais bien voir un exemple concret car personnellement, je n'utilise pratiquement pas les interfaces. Uniquement les classes abstraites.
La dernière fois que j'ai été confronté à un architecte interfacien, on ne s'est pas vraiment entendu , le plus rigolo c'est que je viens d'apprendre que 4 ans après (avec un dépassement de budget de l'ordre du million d'euros) il sont encore en train d'essayer de maintenir son projet que lui semble avoir été capable de comprendre.
Note que cette remarque n'est pas du tout un reproche, j'aimerais apprendre ce type de technique au cas où j'y serais confronté à nouveau.
Juste pour info, je crée des classes d'entrée et de sorties (façades) qui sont (normalement) passives. Elles permettent de passer les paramètres aux méthodes STATIQUES de la couche business dont les méthode qui ne renvoient des valeurs ne renvoient QUE des façades.
Les façades sont toujours sérialisables.
Je pourrais peut être créer une interface IBusiness dont les méthodes pourraient toujours renvoyer un membre de IFacadeOutput (dont tous les membres de facade hériteraient) et prendre en entrée IFacadeInput.
Mais je n'arrive pas à voir la valeur ajoutée de cette technique...
A tous, notez qu'un très bon moyen de ne pas avoir un gros boxon dans un projet et d'encapsuler chaque couche dans une DLL différente et d'avoir un DLL Domain qui contient toutes les façaces.
Après si ta couche présentation ne référence que la couche business et pas la couche data, tu es tranquille. Ca marche bien avec les using mais on peut être tenté de faire des écarts.
Dans VS 2010 il y a un analyseur de référence qui fait apparaitre les boulettes genre je remplis direct un datacontrol avec une query sans passer par la couche data... C'est assez simple et du peu que j'ai vu, ça a l'air assez efficace.
++
Laurent
Partager