Read book and complete code
3 методологии, применяющиеся для управления сложностью проекта:
- TDD - Разработка через тестирование. Test-driven development.
- DDD - Предметно-ориентированное проектирование.
- Событийно-управляемая архитектура.
В многослойной архитектуре мы разделяем код на отдельные категории или роли и вводим правила, указывающие, какие категории кода могут вызывать друг друга. Наиболее распространённый пример - Трёхслойная архитектура.
Слой визуалиции -> Бизнес-логика -> Слой базы данных
Определение принципа инверсии зависимостей:
- Высокоуровневые модули не должны зависеть от низкоуровневных. И то и другое должно зависеть от абстракций.
- Абстракции не должны зависеть от деталей. Вместо этого детали должны зависеть от абстракций.
https://github.com/cosmicpython/code/branches/all репозиторий по книге