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

VB.NET Discussion :

DTO - Portée de variable et assemblies


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut DTO - Portée de variable et assemblies
    Bonjour bonjour,

    après recherches, je n'arrive pas à faire fonctionner quelque chose et je suis pourtant certain de ne pas être le premier :


    J'ai un projet transverse (PROJET1) de type DTO (classes ne contenant que des propriétés)
    Parmi ces classes : des propriétés Public, et des propriétés Friend.

    J'ai un PROJET2 qui gère l'utilisation de ces DTO.
    (Donc projet2 à une référence sur projet1)

    -> J'ai des propriétés Friend car je voudrais que certaines de ces propriétés ne soient visibles que depuis le PROPJET2, mais sinon personne d'autres.

    En cherchant, je n'ai trouvé que cette solution : Utiliser le friend assembly dans le projet 1 : <Assembly: InternalsVisibleTo("Projet2")>

    Mais rien n'y fait, il ne veut pas utiliser ma variable, "car elle est Friend"...

    Qu'est ce que je rate ??

    EDIT : Bien évidemment, comme il s'agit de deux projets, impossible de partager le même namespace...

  2. #2
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Je reformule pour être moins compliqué (je l’espère) :

    Est il possible de rendre certaines propriétés (non publiques) d'une classe Accessible depuis un autre projet spécifique ?

  3. #3
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Hello Mactwist,

    Je n'ai malheureusement pas de réponse à te donner sur le plan technique mais je me pose une question sur le plan conceptuel.

    Pourquoi diable souhaites-tu faire cela ?

  4. #4
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Hello,

    Et bien voilà :

    De base, en POO, une classe va avoir des propriétés public, d'autre private avec des méthodes publiques qui vont manipuler ces deux types de propriétés.

    Bon, quand on développe en couche... on utilise des DTO, et on a aussi des classes qui manipule ces DTO (pour charger, enregistrer).

    D'habitude, j'imagine, que les DTO et les classes sont dans le même projet...

    Ce qui fait que les propriétés Friend des DTO sont manipulables par les classes, mais invisible pour le développeur. (tout comme les propriétés private des classes classiques)

    Mais dans mon cas, pas le choix, ces fameuse classes qui manipulent les DTO se trouvent dans un autre projet... architecture oblige...
    C'est un service qui va s'occuper de faire ces opérations (Save, Load etc.)

    EDIT : En voyant une réponse, tu m'as donné un faux espoir Kropernic !!

    Une solution HYPER moche, serait d'écrire ces propriétés friend en publiques, puis de les rendre invisible à l'intellisense.. Mais bon, c'est horrible quoi.

  5. #5
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Je reformule ma question :

    Pourquoi as-tu des propriétés Friend dans un DTO ?

    Un DTO ne contient que les infos de base. Rien à cacher donc. Non ?

  6. #6
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Parce que mes DTO ont des propriétés "métier" : La vrai info, le Vrai DTO comme on l'entends.

    Et qu'il y a des infos "internes de fonctionnement" du type : "J'existe", "mon ID de Base de données"
    Et ceux là, je veux les cacher...

    Donc j'ai trois choix :

    - Soient j'arrivent a étendre le Friend à un autre projet.

    - soient je supprime ces infos... Mais à chaque méthode de ma classe qui manipule les DTO, elles devront recalculer ces infos à chaque fois pour savoir quoi faire avec (vérifier l'existence pour ajout, mise a jour etc...)

    - Soient je rends tout publique, au risque que les développeurs manipule ces données d'une mauvaise manière.

Discussions similaires

  1. [FLASH MX] Portée des variables ???
    Par mic79 dans le forum Flash
    Réponses: 2
    Dernier message: 08/02/2005, 10h21
  2. Portée des variables vbscript vers ASP
    Par Immobilis dans le forum ASP
    Réponses: 3
    Dernier message: 03/11/2004, 10h14
  3. [XSL]Problème de portée des variables
    Par djulesp dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 17/09/2004, 10h34
  4. [Portée] portée des variables
    Par parksto dans le forum Langage
    Réponses: 7
    Dernier message: 09/05/2004, 21h05
  5. [FLASH MX 2004][XML]portée de variable
    Par marco_ dans le forum Flash
    Réponses: 8
    Dernier message: 29/04/2004, 15h47

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