I came across an architecture for a .net application where there are 3 layersRepository layer (edmx and their classes)      ^      |      VDomain layer (Model -> Interfaces and their implementation)      ^      |      VWeb layer (Model -> View models)Communication between the web and the data layer takes place via Interfaces defined in the domain layer (anemic models)The naming convention used over here is all dependent on table namesRepository layerTableNameRepository.csTableName.cs (autogenerated files)DomainLayerITableName.csTableName.csTableNameService.csWeb layerTableNameListModelTableNameAddEditModelThe problem with this is that if a column is modified in the table, the classes in repository and domain layers all need re-work.Also, communication between these layers take place with managers which have been resolved as below, where Container is staticContainer.Resolve<RepositoryManager>();Container.Resolve<ServiceManager>();The DBContext is stored in session variables during the first call and removed at the end of the request. The second call will initialize the DBContext with the new operator.Any suggestions on what can be done (with minimal changes) so as to imporve this architecture so that it aligns with DDD.
Domain Driven Design - Improving the developers work
design patterns;object oriented design;domain driven design;asp.net mvc;solid