J'ai une application MVC en couches et j'ai quelques questions sur les couches transversales. Jusqu'à présent, cette couche comprend les fonctions Logging, DI, Error Handling et Cache.
J'ai créé un projet et j'ai placé toutes ces caractéristiques dans des dossiers distincts. Est-ce que c'est correct ? Ou dois-je créer un projet pour chaque fonctionnalité ?
Comme j'ai mis en place Autofac (dossier DI) dans ce projet, j'ai dû ajouter des références aux autres projets : Model, Repository et Service. Est-il possible d'ajouter ces références au projet Cross Cutting ?
Dois-je créer un projet séparé pour regrouper les fonctionnalités communes ? Par exemple les Enums, les Constantes et les méthodes comme GetMd5Hash. Ou dois-je utiliser un projet transversal pour cela ?
Dois-je considérer Automapper comme une préoccupation transversale ? Jusqu'à présent, je l'ai mis en place dans la couche Présentation, pour convertir une Entité en Modèle de Vue et un Modèle de Vue en Entité. Pour cette raison, j'ai dû ajouter une référence au modèle, ce que j'aimerais éviter.