IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Architecture, localisation des classes d'extension


Sujet :

C#

  1. #1
    CUCARACHA
    Invité(e)
    Par défaut Architecture, localisation des classes d'extension
    Salut,

    Ca fait quelques mois que j'utilise des classes d'extension et j'avoue avoir du mal à décider du meilleur emplacement où les rangers dans mon modèle de classes.

    J'ai deux types de classes d'extension :
    Des classes outils qui enrichissent les donctionnalités des types du Framework, pas de problème pour celles-ci, elles sont soit dans la couche common soit dans mon Framework.

    Des classes plus spécialisés qui enrichissent les fonctionnalités des objets de ma couche domain.

    Les casses de ma couche domaine ne peuvent être que passives, c'est à dire qu'elle n'ont pas de méthode (à part les méthodes de navigation lorsque il s'agit d'une classe du domaine générée par un Poco T4 à partir de l'Entity Framework).

    Donc, j'hésite à ranger mes classes d'extensions dans un sous-dossier de la couche domain (dans ce cas, les methodes seraient toujours interdites à l'exeption des méthodes d'extension) ou dans la couche business puisqu'il s'agit de méthodes métier.

    Etant donné que je sépare mes couches dans des dll différentes, si je mets les classes d'extension dans la couche business, ça m'obligerait à référencer la couche business dans la couche domain (transverse) risquant ainsi de créer une référence circulaire.

    J'aurais bien aimé avoir votre avis sur ce point,

    D'avance merci

    Laurent

  2. #2
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    ca fait je sais pas combien d'années que t'es ici et je comprends toujours pas ton vocabulaire
    couche "domain"? la seule reference du net qui utilise ce terme, c'est pour parler de la couche métier, or toi, tu dis de referencer le business dans la domaine. je suis perdu
    pareil pour classe passive. j'ai beau retourner google, à part le dico de DVP qui donne une def qui veut rien dire, y a que toi qui l'utilise par contre, ton explication qui suit est claire par contre!


    moi ce que j'ai peur à te lire c'est que tu fasses des méthodes d'extension au lieu de classes partielles. Je rappelle que la méthode d'extension sert à étendre les types dont on a pas la main sur leur code (classes du fx). sinon, on met les methodes dans la classe, et toi, à cause de T4, tu DOIS faire des classes partielles (et metadata classes) si tu veux gérer des attributs automatiques. Déjà avec ce point, tu sais que tu dois mettre tes classes partielles dans la couche modèle avec les classes POCO générées par T4.

    ensuite pour répondre à ta question, si tes méthodes d'extension (si vraiment ca doit etre des methodes d'extension), moi je les mettrai avec le framework si c'est juste utiltaire (methode qui genere un guid ou un truc bateau) et avec mon modele si c'est propre à cette appli et uniquement cette appli. comme ca, c'est accessible partout, dans les TU ou toute autre assembly/projet secondaire qui utilise tes classes modèles

  3. #3
    CUCARACHA
    Invité(e)
    Par défaut
    Salut,

    Je n'ai pas trop le temps de polémiquer sur la terminologie.

    Merci pour les informations,

    Bien à toi

    Laurent

Discussions similaires

  1. Problème d'architecture sur des classes abstraites
    Par Walther Bishop dans le forum Langage
    Réponses: 2
    Dernier message: 02/10/2013, 11h26
  2. [c++]Architecture des classes pour un jeu
    Par Pegasus32 dans le forum C++
    Réponses: 23
    Dernier message: 16/02/2005, 14h07
  3. Créer les get et set des classes
    Par cameleon2002 dans le forum JBuilder
    Réponses: 3
    Dernier message: 17/09/2003, 21h03
  4. specifier les chemins des .class
    Par draken dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 29/07/2003, 09h35
  5. Inserer des classes java existantes
    Par 2000 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 20/03/2003, 12h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo