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 :

Constructeur d'une classe BLL avec accès depuis la DAL


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 104
    Par défaut Constructeur d'une classe BLL avec accès depuis la DAL
    Bonjour,

    J'essaie de coder proprement et j'ai une petite question sur un problème d'architecture et de niveau de visibilité des constructeurs de classes.

    Pour résumer :
    J'ai une couche Buisiness Logic Layer (avec son namespace XXX.YYY.Metier.BLL)
    J'ai une couche Data Access Layer (avec son namespace XXX.YYY.Metier.DAL)

    Dans mon BLL j'ai un classe AxeDePiste avec constructeur private sans paramètre et deuxième constructeur (internal) avec plusieurs paramètres pour initialiser l'objet.
    Dans ma DAL j'ai une classe AxeDePisteDAO avec une méthode CreerAxeDePiste qui a plusieurs paramètres pour initialiser un objet AxeDePiste et l'enregistrer dans la BD.

    Or actuellement je voudrais qu'en dehors que mon AxeDePisteDAO je ne puisse pas faire un new AxeDePiste(param1, param2,etc...)

    si je mets le constructeur de AxeDePiste à protected du coup je ne peux plus créer d'objet depuis AxeDePisteDAO.
    si je mets à Internal je peux le faire de partout y compris en dehors de mon projet.

    Bref je suis un peu perdu.

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Il n'est pas possible de restreindre comme tu souhaites le faire. Il y a des moyens de masquer certaines choses, mais la mécanique à mettre en place est lourde (il faut une interface, utilisée dans une classe imbriquée à la classe principale, le tout utilisé au sein d'une factory dédiée). Au final, ça ne vaut à mon avis pas la peine de s'embêter pour ce genre de détail. Mais ça n'engage que moi
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 104
    Par défaut
    Merci pour la réponse c'est donc bien une solution de type un tank pour abattre une mouche avec un risque de complication inutile !

Discussions similaires

  1. Comment faire une classe abstraite avec un constructeur
    Par zemzoum89 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 16/10/2010, 00h01
  2. Réponses: 7
    Dernier message: 27/01/2009, 08h25
  3. Réponses: 2
    Dernier message: 04/12/2005, 21h10
  4. Réponses: 5
    Dernier message: 20/11/2005, 11h15
  5. Réponses: 3
    Dernier message: 06/11/2005, 18h02

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