Geçtiğimiz yıl, geliştirilmesine yardımcı olduğum bir e-ticaret sitesi projesinde bir gün aşağıdaki gibi kodlar yazıyordum;
Eminim benim gibi sizler de zaman zaman if-else blocklarını veya switch-case blocklarını yukarıdaki gibi kullanıyorsunuzdur.
Yukarıdaki kodda yanlış bir durum gözükmese de, ya biri birgün yeni bir arama methodu ekleyecek olsa? Hatta biri bir arama methodunu silmek istese?
İşte bu tip durumlarla karşılaşılabilir, bu durumu nasıl ortadan kaldırabilirim diye düşünerek, küçük egzersizler yapmaya başladım.
Sonunda aklıma şöyle bir fikir geldi;
Key için SearchArea, Value için Action tiplerini belirlesemAction'ları eklesemAction'ları getirsem ve sırasıyla onları çağırsam?Böylece istediğim SearchArea için bir veya daha fazla Action tanımlayabilir, onları çağırabilirim.
Nasıl fikir ama? :) (O zaman farkına varmasam da Delegate Dictionary isminde bir pattern zaten varmış)
Yukarıdaki adımların koda dökülmüş hali;
Sizce de daha güzel gözükmüyor mu? :)
Senior Software Engineer, @Microsoft
Ada ve Ege'nin babası ;)
Makale Adedi: 484