Что такое Tell Don't Ask?

Ответ

Вместо того чтобы спрашивать объект о данных и принимать решение снаружи, нужно говорить объекту, что делать (передавать команды). Данные и поведение держать вместе.

// Ask: логика снаружи
if ($order->getStatus() === 'paid') { $order->setShipped(true); }

// Tell: логика внутри доменного объекта
$order->markAsShipped(); // внутри проверка статуса и обновление

Укрепляет инкапсуляцию и переносит поведение в домен.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.