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 n-tier] Conception DAL & BLL


Sujet :

C#

  1. #1
    Membre habitué Avatar de lapanne
    Inscrit en
    Juin 2006
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 200
    Points : 197
    Points
    197
    Par défaut [Architecture n-tier] Conception DAL & BLL
    Bonjour à tous,

    Je commence à développer l'architecture du nouvel intranet de l'entreprise et vu que je n'ai pas (encore) eu de cours sur l'architecture n-tier, je viens ici vous demander des feedback sur le code que j'ai pondu.

    Aprés de nombreuses lectures (codes sources & autres arcticles...), j'ai réussi à pondre ma couche d'accès aux données et ma couche métiers. Je trouve ça super bancal et je n'utilise pas d'héritages ni d'interface ni de design pattern. Alors je me dis que c'est pas cool au vu de tout ce que je lis partout, y'a des IMachin partout .

    Le but est de créer dans un premier temps les couches d'accés aux données et les couches métiers.

    Bref, je vous joins juste quelques fichiers et un Modèle physique des données pondu par quelqu'un d'autre et dont je dépends :
    Mon fichier de connection à la base de données
    2 classes de la BLL
    Une classe d'accés aux données
    Le modèle physique des données

    Voilà.
    1er point : Je suis un débutant en développement donc n'hésitez à laisser tous les commentaires que vous voulez même si c'est trés méchant/condescendant/moqueur tant que ça m'aide à avancer.
    2ème : un gros merci à ceux qui prendront le temps de regarder tout ça .
    <SplyRock95> c'est quoi ton style?
    <Bat> #bat{height:180cm;weight:160lbs; eye-color:#0000FF; hair-color: #FFFF00;}
    Copyright @ bashfr.org

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    459
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 459
    Points : 553
    Points
    553
    Par défaut
    Quelques remarques rapides :

    Il y a un problème de gestion de l'état dans la classe DataConnect.cs : la connection est fermée uniquement quand elle est... fermée !

    Pour tes classes d'accès aux données, il pourrait être intéressant de gérer un cache des paramètres des procédures stockées (regarde du côté du Data Access Application Block).

    Evite de nommer tes procédures stockées avec un préfixe "sp_" (http://www.sql-server-performance.co...procedures.asp)

  3. #3
    Membre habitué Avatar de akecoocoo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2004
    Messages : 78
    Points : 146
    Points
    146
    Par défaut
    Ne t'arrêtes pas aux exemples que tu peux trouver ici ou là. Ce n'est pas parce qu'un projet implémente de nombreux motifs de conceptions, de frameworks réputés et se décompose en des dizaines de sous-projets qu'il est forcément bien réalisé.

    Tu peux souvent lire que si le code source d'un projet ne contient pas ou très peu d'interfaces ("imachin"), cela signifie qu'il est très pauvrement programmé, ceci est bien évidement faux. Dans le cas des interfaces, elles servent à architecturer un projet en plusieurs briques logicielles. Si un jour, une particularité technique du projet est amenée à être changée, l'utilisation d'interfaces, ou de frameworks de découplages, garantie des modifications à moindre impact.

    Je ne peux voir ton code source car free m'est inaccessible depuis mon poste de travail Une chose est certaine, il faut beaucoup de temps avant de prendre de bons réflexes en programmation. Faire du n-tiers, n'est pas une obligation ! Mais avec de l'expérience, on se rends compte qu'on est beaucoup plus productif/efficace en travaillant ainsi.

    Je laisse aux autres le soin de commenter ton code

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434

  5. #5
    Membre habitué Avatar de lapanne
    Inscrit en
    Juin 2006
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 200
    Points : 197
    Points
    197
    Par défaut
    Merci à tous pour vos réponses je suis en train de mater le Data Access Application Block. Je ne sais pas encore si je vais m'en servir mais merci pour le tuyau !

    Citation Envoyé par Thomas Lebrun
    J'avais déjà maté. J'ai vu, j'ai lu, j'ai imprimu ! D'ailleurs j'ai une petite question :

    Pourquoi utiliser un singleton dans la DAL et pas une classe entièrement statique (comme je le fais, je dois surement me planter ) ?

    Citation Envoyé par akecoocoo
    Tu peux souvent lire que si le code source d'un projet ne contient pas ou très peu d'interfaces ("imachin"), cela signifie qu'il est très pauvrement programmé, ceci est bien évidement faux. Dans le cas des interfaces, elles servent à architecturer un projet en plusieurs briques logicielles. Si un jour, une particularité technique du projet est amenée à être changée, l'utilisation d'interfaces, ou de frameworks de découplages, garantie des modifications à moindre impact.
    D'ailleurs, j'ai du mal à voir l'utilité d'une interface. Qu'appeles-tu brique logicielle ?
    <SplyRock95> c'est quoi ton style?
    <Bat> #bat{height:180cm;weight:160lbs; eye-color:#0000FF; hair-color: #FFFF00;}
    Copyright @ bashfr.org

  6. #6
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par lapanne
    Pourquoi utiliser un singleton dans la DAL et pas une classe entièrement statique (comme je le fais, je dois surement me planter ) ?
    Il s'agit d'un choix fait par le développeur. J'ai opté pour un Singleton mais une classe statique aurait aussi pût faire l'affaire

Discussions similaires

  1. architecture n-tiers : BLL et BO avec Power AMC
    Par Barbette dans le forum UML
    Réponses: 0
    Dernier message: 19/05/2010, 16h44
  2. [Conception] Architecture 3-tiers et DAO
    Par speedster dans le forum Général Java
    Réponses: 5
    Dernier message: 27/03/2007, 12h29
  3. [N-Tier] Problème conception architecture 3-tiers
    Par Royd938 dans le forum Autres
    Réponses: 3
    Dernier message: 17/06/2005, 11h47
  4. [VB.NET] Architecture n-tiers
    Par Dnx dans le forum ASP.NET
    Réponses: 2
    Dernier message: 08/02/2005, 19h10
  5. [Design Patterns] Architecture 3 tiers
    Par HPJ dans le forum Design Patterns
    Réponses: 1
    Dernier message: 29/07/2003, 11h49

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