Как сделать сравнение ответственность объекта, который передается в процедуру сортировки по шаблону стратегии?

Я начал самостоятельно изучать шаблоны проектирования из Design Patterns от Gang of Four

Параметризованные типы дают нам третий способ (в дополнение к наследованию классов и составлению объектов) для составления поведения в объектно-ориентированных системах. Многие проекты могут быть реализованы с использованием любого из этих трех методов. Чтобы параметризовать процедуру сортировки по операции, которую она использует для сравнения элементов, мы могли бы сделать сравнение

  1. операция, реализованная подклассами (применение шаблона Template (325)),
  2. ответственность объекта, который передается в процедуру сортировки (Стратегия (315)), или
  3. аргумент шаблона C++ или Ada generic, который задает имя функции, вызываемой для сравнения элементов.

Я посмотрел шаблон стратегии, но все еще интересовался, как сделать второй способ "сделать сравнение объектом, который передан в процедуру сортировки (Стратегия)"?

Я был бы признателен за некоторые примеры на любом языке ОО: C++, C#, Java, Python, ...

Благодарю.

0 ответов

Другие вопросы по тегам