Конфигурирование классов с использованием делегатов

Источник
Иногда вам может быть необходимо выполнить различные куски кода в зависимости от каких-либо параметров во время исполнения. Например, в графических приложених часто приходится создавать различные «маршруты» рендеринга в зависимости от графической карты пользователя. В простейших случаях вы можете обойтись блоком if…else, возможно switch. Бывают ситуации посложнее. В языке Си вам потребуется установить указатели на функции. [...]