I'm currently working on a project that consists of an ASP.NET MVC web application with a back-end wrapped in WCF services. I've used MVC and WCF on past projects but I've never been responsible for designing the architecture from scratch. I'm hoping for some feedback on my current design to make sure that I'm employing good design practices from a high level architectural view.
Here is the dependency diagram to give an idea of how things are structured:
A few things to note:
- Common MyApp.Utilities project is for any functionality which needs to be shared across layers. Currently it only contains extension methods.
- Service contracts and data contracts are in a common project which is shared between both layers.
- EntityFramework is being used for data access.
- Mapping goes Entity <=> DTO (data contract) <=> ViewModel
- Still working on this, using AutoMapper and not entirely sure as to how I should "rehydrate" the DTOs when they are passed back from the presentation layer.
- ServiceImplementation is simply a wrapper for business logic which is contained in a separate assembly.
- The presentation and service layers are to be deployed to separate physical servers
- Packages are all contained in a single folder in the solution's root folder and are checked into version control
Does any of this stand out as bad practice?
Aucun commentaire:
Enregistrer un commentaire