У меня проблемы с именами классов и сервисов, когда задействованы утилиты и другие справочные классы.
Как бы вы структурировали следующее:
EventService.cs
EventServiceUtils.cs
EventServiceValidators.cs
EventServiceCoordinator.cs
и т.д...
У меня есть несколько служб с теми же потребностями, что и вышеупомянутая служба. Одна мысль состоит в том, чтобы разделить все это в подходящее пространство имен, чтобы оно выглядело примерно так:
Services.EventService.EventService.cs //(the actual service)
Services.EventService.Validators.DateValidator.cs
Services.EventService.Validators.ParticipantValidator.cs
Services.EventService.Coordinators.ParticipantCoordinator.cs
Services.EventService.ExtensionMethods.Extensions.cs
и так далее. Каждое пространство имен - это, конечно, отдельная папка. Но это не чувствуется на 100%, так как DateValidators
в других сервисах, вероятно, их больше , что может легко привести к нежелательной ссылке.
А также Services.EventService.EventService.cs
включает в себя имя класса в пространстве имен, что тоже не годится. Вы можете использовать Services.Event.EventService.cs
, но, конечно, уже существует сущность с таким именем.
Это модель предметной области.