Мне нужна помощь в разъяснении того, как я должен настраивать свой проект. Моя структура решения выглядит следующим образом:
Company.DataTransferObjects
--AdminDTO.cs
--CustomerDTO.cs
Company.DataTransferObjects.Helpers
Company.Infrastructure.DomainServices
--Admin
---AdminService.cs
--Customer
--CustomerService.cs
Comapny.Infrastructure.Repositories
--Admin
---AdminRepository.cs
--Customer
---CustomerRepository.cs
Company.Domain
--Admin
---Admin.cs
---IAdminRepository.cs
--Customer
---Customer.cs
---ICustomerRepository.cs
Company.WebServices
--WebApi.cs
--IWebAPI.cs
Мои вопросы заключаются в следующем:
1) Подходит ли вам моя установка?
2) ДТО. С точки зрения веб-службы, где следует создавать DTO? Должен ли я создавать DTO в независимой библиотеке классов и ссылаться на них из WebService или они должны быть частью моего проекта веб-сервиса?
Кроме того, мне непонятно, как мои DTO должны взаимодействовать с объектами домена. Может кто-нибудь объяснить их цель с точки зрения потока программы и, в частности, если бы вы создавали службу WCF, как бы вы манипулировали ими?
3) Доменные службы. Мне все еще трудно понять назначение доменных служб. Это то, что раскрывает операционную функциональность, которая не затрагивает базу данных и требует методов репозитория, к которым нельзя получить прямой доступ? Другими словами, является ли доменная служба методом, который манипулирует несколькими методами репозитория? Итак, если моя служба WCF вызывает данные, к которым можно получить доступ через метод репозитория, то это то, что она должна делать. Но если для этого требуются данные, которые являются результатом нескольких методов репозитория, то это должно быть сделано через службы домена?
4) Какое место шаблон фасада занимает в архитектуре DDD?
Пожалуйста, извините мою путаницу, я пытаюсь понять. Было бы серьезной помощью, если бы вы могли сказать мне, «к чему» я должен получить доступ из моей службы WCF.
Спасибо!