Вопросы к Поиску с Алисой
Разница между top-down и bottom-up подходами в проектировании систем заключается в том, что первый подход основан на стратегии декомпозиции, а второй — на стратегии композиции. dckms.github.io
Top-down подход (нисходящее проектирование) начинается на высоком уровне абстракции. dckms.github.io Например, сначала определяют базовые классы или другие неспецифические элементы проекта. dckms.github.io По ходу работы повышают уровень детальности и определяют производные классы, сотрудничающие классы и другие детали. dckms.github.io
Bottom-up подход (восходящее проектирование) начинается со специфики и постепенно переходит ко всё большей общности. dckms.github.io Как правило, он начинается с определения конкретных объектов, на основе которых затем разрабатываются более общие объединения объектов и базовые классы. dckms.github.io
Некоторые другие различия:
В конечном счёте top-down и bottom-up подходы не являются конкурирующими стратегиями, а дополняют друг друга. dckms.github.io