Mam problemy z prawidłowym nazwaniem moich klas i usług, gdy w grę wchodzą narzędzia i inne klasy pomocy.
Jak byś zbudował następujące elementy:
EventService.cs
EventServiceUtils.cs
EventServiceValidators.cs
EventServiceCoordinator.cs
itp...
Mam wiele usług o takich samych potrzebach jak powyższa usługa. Jedną z myśli jest podzielenie tego wszystkiego na odpowiednią przestrzeń nazw, dzięki czemu będzie wyglądać mniej więcej tak:
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
i tak dalej. Każda przestrzeń nazw jest oczywiście oddzielnym folderem. Ale to nie wydaje się 100%, ponieważ prawdopodobnie jest więcej DateValidatorsw innych usługach, co może łatwo prowadzić do niechcianych referencji.
A także Services.EventService.EventService.cs zawiera nazwę klasy w przestrzeni nazw, co też nie jest dobre. Możesz użyć Services.Event.EventService.cs, ale oczywiście istnieje już jednostka o tej nazwie.
To jest model domeny.