Estou tendo problemas para nomear minhas classes e serviços corretamente quando utils e outras classes de ajuda estão envolvidas.
Como você estruturaria o seguinte:
EventService.cs
EventServiceUtils.cs
EventServiceValidators.cs
EventServiceCoordinator.cs
etc ...
Eu tenho vários serviços com as mesmas necessidades do serviço acima. Um pensamento é separar tudo isso em um espaço para nome adequado, fazendo com que algo parecido com isto:
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
e assim por diante. Todo espaço para nome é, obviamente, uma pasta separada. Mas isso não parece 100%, pois provavelmente há mais DateValidatorsem outros serviços, o que pode facilmente levar a uma referência indesejada.
E também Services.EventService.EventService.csinclui o nome da classe no espaço para nome, o que também não é bom. Você poderia usar Services.Event.EventService.cs, mas é claro que já existe uma entidade com esse nome.
Este é o modelo de domínio.