Plusieurs couches de nommage
-
12-12-2019 - |
Question
Je veux créer un à plusieurs couches projet avec 3 couches (ou les niveaux?quelle est la différence?)
Maintenant, comment dois-je le nom de chaque couche (couche) ?
J'ai vu cette description sur wikipedia:
Mais je ne peux pas tout simplement le nom de mon calques "couche de Présentation", "niveau Logique" et "couche de Données", puis-je?
Qui ne seront pas appropriées dans les espaces de noms.
Toutes les idées pour le nommer?
La solution
Le niveau et la couche sont parfois utilisés de manière interchangeable, mais il y a une distinction subtile.Les niveaux sont physiques et les couches sont logiques.Plus: Quelle est la différence entre "couches" et "niveaux"?
Quant à la nommage, cela dépend du type de projet sur lequel vous travaillez et sur quel type d'architecture vous allez.
Par exemple, j'ai un projet Web appelé Amber.Il a ces projets:
- Amber.Logic (logique et données ont été combinés dans un seul projet / couche dans ce cas)
- Amber.Test (tests)
- Amber.Web (Présentation)
Autres conseils
Vous pouvez nommer vos espaces de noms comme celui-ci:
meormycompany.thapplication.data
MeormyCompany.TheApplication.Logic
MeormyCompany.TheApplication.PRESENTATIONParfois, il est nécessaire d'ajouter des espaces de noms tels que
meormycompany.TheApplication.presentation.Main MeormyCompany.TheApplication.presentation.Dialogs
MeormyCompany.TheApplication.presentation.Controls
...C'est à vous de décider.
Notez que lorsque vous créez un dossier dans un projet, le nom du dossier sera automatiquement ajouté à l'espace de noms automatiquement. Donc, si vous avez un projet appelé "MeormyCompany.TheApplication", vous pouvez ajouter des dossiers nommés "Data", "Logic" et "Présentation". Dans "Présentation", ajoutez des sous-dossiers nommés "Main", "Dialogues", "Commandes" ou tout ce qui vous semble approprié.
Vous pouvez également créer des projets distincts pour les trois niveaux.
Exemple:
Ici, une classe dans le dossier SVG aura automatiquement l'espace de noms
cysoft.slvision.diagams.shapes.svg
namespace CySoft.SLVision.Diagrams.Shapes.Svg { public class SvgLine : LineShape { private SvgShapeFactory _context; ... } ... }
Dans une application unique solution j'ai l'habitude de faire quelque chose comme:
<Company name>.<Application name>.<Tier name>
où, au lieu du nom, vous pouvez également utiliser un acronyme s'il contient des espaces ou si c'est trop long.
J'utilise cette convention de nommage pour chaque projet/de l'assemblée.
Mon présentent généralement des niveaux/couches sont
DAL
- ma couche d'accès aux données (eg EF)
Business
- ma logique d'entreprise et les entités
Facade
- ma couche de présentation, dans laquelle j'définir la logique de l'application
UI
- l'interface utilisateur