Слуга () — шаблон проєктування, який дозволяє визначити спільний функціонал для різних ієрархій класів.
Реалізація
Нехай, необхідно реалізувати функціональність, яка спільна для різної ієрархії класів, наприклад, рух у просторі для геометричних фігур та тварин. Для того, щоб не дублювати код його можна винести у функцію, спільний клас (для мов що дозволяють множинне успадкування), у метод інтерфейсу (для мов, що дозволяють реалізацію інтерфейсу), метод розширення інтерфейсу, тощо.
Див. також Множинне успадкування Шаблонний метод (шаблон проєктування)
Джерела Visitor vs Servant vs Command patterns