Закоулки мозга

Объектно-ориентированный дизайн - это очередной логический шаг на пути абстрагирования от машинной реализации. По сути, это более высокоуровневый подход, чем процедурный.

Понятно, что ООП не должно рассматриваться как единственный возможный вариант. Есть сферы, где применение ООП не оправдано. Чем ближе к уровню машины осуществляется программирование (драйверы, микроконтроллеры и т.п.), тем более формальным и процедурным должен быть подход.

Концептуальный график:

Источник: Object thinking - West, David

Горизонтальная ось - это активность, связанная с созданием ПО, от анализа (включая понимание реального мира, создание абстракций и декомпозицию) до реализации (компиляции, тестирования и реального исполнения кода). Вертикальная ось - это противопоставление детерминированности (алгоритмы, дискретные модули, формальные системы) и сложного социокультурного мира (бизнес, составные системы).

Внизу и справа от диагонали - область применения формальных процедурных подходов, вверху слева - ООП. Объектное мышление в таком случае можно рассматривать как основу для интеграции искусственных систем (компьютеры и ПО) с естественными (социальные и культурные контексты).