Я хочу услышать некоторые мнения о разработке программного обеспечения:
- Данные модели
В настоящее время я занимаюсь разработкой программного обеспечения на основе:
Controller
Service
Repository
и я не совсем уверен, является ли хорошей практикой использование разных моделей данных на каждом слое.
Controller -> Receives a DTO and converts it into a "service object"
Service -> Receives a "service object" and converts it into a database entity
Repository -> persists a database entity
Кажется, что много повторяющегося кода, так как обычно обмен информацией на каждом уровне не сильно отличается.
- Зависимость между услугами
Представьте, что у вас есть две службы
Наличие: проверка на наличие дат
Бронирование: делает бронирование
Теперь, если при обращении в службу доступности указана дата, эта дата должна быть забронирована. Как управлять этой зависимостью?
- Option 1: calling BookingService from inside AvailabilityService
AvailabilityService {
Calling BookingService
}
- Option 2: calling BookingService after the response of AvailabilityService
AvailabilityController {
Calling AvailabilityService
Calling BookingService (base on the response from AvailabilityService)
}