Component Types Included
Projects Reference Included
Responsibilities
ApplicationName.Web/Admin/Management/Maintainance/CustomerFacing
(For Small Apps)
BoudedContextName.Web/Admin/Management/Maintainance/CustomerFacing
(For Large EA)
Component Types Included
DI/IOC Container Added
View, Controller, Web API Controller,
Controller Contains Application Services if Use Case or BC is Complex or Domain Intensive
Controller Contains Entity/Generic/Composite Repository if the Use Case or BC is CRUD oriented
Projects Reference Included
Domain/Core
Responsibilities:
ApplicationName.Web/Admin/Management/Maintainance/CustomerFacing.ViewModels
(For Small Apps)
BoudedContextName.Web/Admin/Management/Maintainance/CustomerFacing.ViewModels
(For Large EA)
Component Types Included
ViewModels with annotations for the View
DI/IOC Container Added
Projects Reference Included
Responsibilities:
ApplicationName.Services (For Small Apps)
BCName.Services (For Large EA)
Component Types Included
DataMappers ???,
Projects Reference Included
Responsibilities
ApplicationName.Domain/Core(For Small Apps)
BC.Domain/Core (For Large EA)
Component Types Included
All Model Classes, IEntityRepositoryWrapper Interface, ViewModels,
Both Repository Interface and the ViewModels returned by the Custom Repository are defined in the Domain/Core class.
Projects Reference Included
Does not need any Project Reference
Responsibilities
ApplicationName.Data/Infrastructure(For Small Apps)
BC.Data/Infrastructure (For Large EA)
Component Types Included
DBContext, EntityRepositoryWrapper Class, GraphRepClass, NonGraphRepoClass, Read/QueryOpsClass, Write/CommandOpsClass,
Projects Reference Included
Include Domain/Core Reference
Responsibilities
ApplicationName.SharedKernel/Common (For Small Apps)
BC.SharedKernel/Common (For Large EA)
Component Types Included
Projects Reference Included
Responsibilities
SharedKernel Contains Common Interfaces used throughout the project. Shared Kernel contains IEntity.cs that is implemented by all entities in the Domain project
ApplicationName.SharedKernel/Common.Data (For Small Apps)
BC.SharedKernel/Common.Data (For Large EA)
Component Types Included
Projects Reference Included
Responsibilities
SharedKernel.Data contains Generic Repository, Common Classes for Data Project. ApplicationName.Data Contains User Defined Repository Classes Wrappers and Custom Classes I thinks. Utility Class added to the ShareKernel.Data Project, Resuable Logic with in GR, with in same project. SharedKernel.Data will reference the SharedKernel project, because GR will implement that interface
ApplicationName.Tests.Services
ApplicationName.Tests.Domain
ApplicationName.Tests.Data
ApplicationName.Tests.SharedKernel
Projects Reference Included
Responsibilities
ApplicationName.Web/Admin/Management/Maintainance/CustomerFacing
(For Small Apps)
BoudedContextName.Web/Admin/Management/Maintainance/CustomerFacing
(For Large EA)
Component Types Included
DI/IOC Container Added
View, Controller, Web API Controller,
Controller Contains Application Services if Use Case or BC is Complex or Domain Intensive
Controller Contains Entity/Generic/Composite Repository if the Use Case or BC is CRUD oriented
Projects Reference Included
Domain/Core
Responsibilities:
ApplicationName.Web/Admin/Management/Maintainance/CustomerFacing.ViewModels
(For Small Apps)
BoudedContextName.Web/Admin/Management/Maintainance/CustomerFacing.ViewModels
(For Large EA)
Component Types Included
ViewModels with annotations for the View
DI/IOC Container Added
Projects Reference Included
Responsibilities:
ApplicationName.Services (For Small Apps)
BCName.Services (For Large EA)
Component Types Included
DataMappers ???,
Projects Reference Included
Responsibilities
ApplicationName.Domain/Core(For Small Apps)
BC.Domain/Core (For Large EA)
Component Types Included
All Model Classes, IEntityRepositoryWrapper Interface, ViewModels,
Both Repository Interface and the ViewModels returned by the Custom Repository are defined in the Domain/Core class.
Projects Reference Included
Does not need any Project Reference
Responsibilities
ApplicationName.Data/Infrastructure(For Small Apps)
BC.Data/Infrastructure (For Large EA)
Component Types Included
DBContext, EntityRepositoryWrapper Class, GraphRepClass, NonGraphRepoClass, Read/QueryOpsClass, Write/CommandOpsClass,
Projects Reference Included
Include Domain/Core Reference
Responsibilities
ApplicationName.SharedKernel/Common (For Small Apps)
BC.SharedKernel/Common (For Large EA)
Component Types Included
Projects Reference Included
Responsibilities
SharedKernel Contains Common Interfaces used throughout the project. Shared Kernel contains IEntity.cs that is implemented by all entities in the Domain project
ApplicationName.SharedKernel/Common.Data (For Small Apps)
BC.SharedKernel/Common.Data (For Large EA)
Component Types Included
Projects Reference Included
Responsibilities
SharedKernel.Data contains Generic Repository, Common Classes for Data Project. ApplicationName.Data Contains User Defined Repository Classes Wrappers and Custom Classes I thinks. Utility Class added to the ShareKernel.Data Project, Resuable Logic with in GR, with in same project. SharedKernel.Data will reference the SharedKernel project, because GR will implement that interface
ApplicationName.Tests.Services
ApplicationName.Tests.Domain
ApplicationName.Tests.Data
ApplicationName.Tests.SharedKernel
No comments:
Post a Comment