В качестве основной архитектуры проектов используется multitier architecture, в общем случае состоящая из трех слоев
- Presentation, содержащего конкретные user story,
- Business Logic, содержащего независимую от конкретных use case'ов логику,
- Core, содержащего низкоуровневые утилиты для взаимодействия с источниками данных и кешем.
На Presentation слое используется VIPER. Очень подробно о нем мы рассказали в нашей The Book of VIPER.
На слое бизнес-логики мы используем Service Oriented Architecture. Подробнее об этом мы рассказывали на одном из наших митапов.
Принципы, применяемые при разработке: SOLID, DRY, KISS, YAGNI, TDD.