Определение архитектуры и базовая реализация классов