Паттерн Delegation (Делегирование).

Делегирование — это шаблон проектирования, при котором объект внешне якобы выполняет некоторые действия, однако на самом деле выполнение этих действий перекладывается (делегируется) на другой объект.

Например, мы имеем класс, моделирующий автомобиль и еще один класс, описывающий его рулевую систему.

Мы можем воспользоваться композицией и включить рулевую систему просто в состав автомобиля, но можно поступить и немного иначе. Будет весьма логично потребовать от автомобиля двигаться вперед, остановиться или повернуть. Ведь именно такого поведения мы и ожидаем. Поэтому в классе Car можно создать экземпляр класса ControlSystem и также добавим в него те же методы — start(), stop(), left(), right(), в которых вызовем методы уже объекта ControlSystem. При этом внешне мы вроде бы управляем самим автомобилем, но на деле всю работу за нас выполняет объект класса ControlSystem.

На этом урок, посвященный еще одному паттерну проектирования подошел к концу. Спасибо за внимание!

комментарий

  1. Максим Ответить

    Спасибо, после статьи стало понятно что такое делегирование c:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *