6 entry daha
  • en severek kullandığım design pattern'lerden biri.

    20 kadar değişik grafik (pie, bar chart vesayre) üreten bir sistemin tüm çıktılarını bir powerpoint dosyasına slide'lar olarak almam gerekiyordu. abstract factory pattern kullanarak tüm chart'lar için tek bir interface'i implement eden factory method yarattığımda problem oldukça zarif bir şekilde çözüldü. bütün grafikler aynı arayüzü kullansın, döngüye al, hepsi için generateslide() fonksiyonunu çağır. gelen slide'ı powerpoint dosyasına ekle. bitti gitti.

    bir işlevin girdisi olarak bir factory'i inject ettiğimiz için dependency injection ile karıştırılır ancak abstract factory di'ın aksine bir tasarım desenidir (bkz: design pattern) ve tasarım içerisinde sadece gereken noktalarda kullanılır. tüm yazılımı abstract factory çalışacak şekilde tasarlama gerekliliği oldukça düşük bir ihtimaldir. dependency injection ise bir mimari desen olan inversion of control'ün implementasyonudur (bkz: architectural pattern) ve etkin kullanımı için tüm mimarinin di'ye yönelik yapılması gerekir. sonuç olarak abstract factory eğer isteniyorsa di mimarisi üzerine oturan opsiyonel bir araçtır.
hesabın var mı? giriş yap