Архитектура приложения: компоненты и популярные паттерны