Я смотрел на примеры реализации шаблонов стратегий, и мне кажется, что они очень похожи на делегатов c #. Единственное отличие, которое я вижу, состоит в том, что реализации шаблонов стратегий не должны явно объявлять делегата.
Но, кроме этого, оба они, похоже, указывают на функции, для которых требуется определенная подпись, и оба они могут использоваться для определения того, что выполнять во время выполнения.
Есть ли более очевидная разница, которую мне не хватает?
Я полагаю, что связанный с этим вопрос будет, если они похожи, в чем преимущество использования одного над другим?