Архитектура нашей компании преподносится как слабо связанная и обеспечивающая большое разделение интересов.Но мне интересно, если мы «делаем все правильно».
Например, допустим, у нас есть объект Car на нашем уровне бизнес / клиент.Этот Автомобиль имеет "CarEnum" на нем.Когда мы будем готовы сохранить Car в нашей базе данных, мы сопоставим Car с CarDTO, у которого также есть CarEnum с точно такими же параметрами, что и на бизнес-уровне Enum.Когда наш DTO получает код сервера (в другом решении), DTO сопоставляется с еще одной моделью с еще одним CarEnum с точно таким же определением, что и у бизнеса, и Ento DTO.*
Я не ожидал, что "хорошая архитектура" будет включать определение одного и того же Enum в трех местах.Я думал, что код должен был быть DRY .Это хорошая архитектура или это просто навязывание странного программирования культового груза на всю компанию?Какова лучшая альтернативная архитектура?