Strateji tasarım deseni sık sık yoksun dilde birinci sınıf işlevleri için bir yedek olarak kabul edilir.
Örneğin, işlevselliği bir nesneye geçirmek istediğinizi varsayalım. Java'da, istenen davranışı kapsayan başka bir nesneyi nesneye iletmeniz gerekir. Ruby gibi bir dilde, işlevselliğin kendisini anonim bir işlev biçiminde geçirirsiniz.
Ancak bunu düşünüyordum ve belki de Strateji'nin basit bir anonim işlevden fazlasını sunduğuna karar verdim.
Bunun nedeni, bir nesnenin, yöntemin çalıştığı dönemden bağımsız olarak var olan durumu tutabilmesidir. Ancak anonim bir işlev, yalnızca işlevin yürütülmesi bittiğinde varolmayan durumu tutabilir.
Birinci sınıf işlevleri destekleyen nesne yönelimli bir dilde, strateji modelinin işlevleri kullanmaya göre herhangi bir avantajı var mı?