Я начинаю проект, который будет использовать трехуровневую архитектуру с REST API.Как организовать зависимости в 3-уровневой архитектуре
Я хотел бы разделить каждый слой в отдельный модуль, так что я, безусловно, необходимо, по крайней мере 3 модулей:
- ОСТАЛЬНЫЕ
- BLL
- DAL
Каков наилучший подход устанавливать зависимости между ними:
1)
- REST зависит от BLL
- BLL зависит от DAL
- DAL зависит ни от чего
2)
- остальное зависит от ничего
- BLL зависит от REST
- DAL зависит от BLL
3)
- остальное зависит от REST-BLL-интерфейсов
- REST-BLL-интерфейсы зависят ни от чего
- БЛЛЫ зависят от REST-BLL-интерфейсов и Dal-BLL-интерфейсы
- DAL-BLL-интерфейсы depenends на ничего
- DAL зависит от Dal-БЛЛ-интерфейсы
Третий подход, по-видимому, наиболее совместим с принципом инверсии зависимостей, но требует больше модулей. Как бы вы назвали эти два дополнительных модуля?