I use top level folders in my domain model projects. Interfaces go in
the Abstract folder while interface implementations go in the Concrete
folder. By default interfaces and implementations are in different
namespaces. The namespaces can be manually altered if desired.
regards
A.G.
Where do you put your entities? In a Entities folder?
And the folders are correspondent to namespaces? Is it?
I use 4 projects, correspondent to 4 main namespaces, and then I have
"child" namespaces as follows:
- Proj.Infrastructure
(Contains common elements used in other layers.
Example: StringExtensions, IUnitWork, etc)
- Proj.Domain
(Contains Entities, Repositories interfaces and Implementations,
Factories, Services that deal with Entities, etc)
At the moment I have the following namespaces: Services,
Repositories, Entities, Factories, ...
So you say that inside Proj.Domain.Repositories I should have
Abstract and Concrete namespaces?
Or inside Proj.Domain I should have Abstract namespace witll all
Services and Repositories interfaces.
Inside Proj.Domain.Concrete I would have all Services and
Repositories implementations?
And where the Entities would go?
- Proj.Application
Here I have only a few type of Services like TwiiterService,
MailService, etc
- Proj.Presentation
Here I have the ASP.NET MVC Web Application or the NET WPF
application,
Please, anyone, any suggestion to improve my implementation is
welcome.
I am just creating a base pattern to work from but there might be some
things that I am missing.
One is: what should I place in Proj.Application. The services I
suggested? But can I separated the services from Proj.Application and
Proj.Domain?
Besides TwitterService and MailService I am not sure what other
services I could have since I already have repositories.
I am not sure where the services come in when using repositories.
Anyway, any suggestion is welcome.
Thanks,
Miguel