Речь идет о разделении интересов.
Наблюдатели позволяют выделять код, который на самом деле не принадлежит моделям. Например, модель User
может иметь обратный вызов, который отправляет электронное письмо с подтверждением регистрации после сохранения записи пользователя, но вам не нужен этот код в модели, поскольку он не имеет прямого отношения к цели модели.
Наблюдатели позволяют вам иметь такое чистое разделение, потому что у вас нет всего этого кода обратного вызова в ваших моделях. Наблюдатели зависят от модели (или моделей), а не наоборот.