25 Ocak 2016 Pazartesi

Factory Design Pattern

Bir sınıf veya bir interfaceten türeyen ve aynı metotlara sahip birden çok sınıfınız varsa ne yaparsınız.
Örnek olarak bir Personel interface'imiz olsun ve içinde maaş bilgisini ve personelin ünvanını getiren metotlarımız olsun. Böylece bütün sınıflarımızı buradan kontrol edebiliyoruz. Bir değişiklik gerektiğinde tüm projede teker teker sınıflarımızı arayacağımıza buradan gerekli değişiklikleri yapıp tüm projeye entegre edebileceğiz. Aslında bir nevi kontrol merkezi kurmuş olacağız :)

Bu iki metot her sınıfta olacaktır. Elimizde de uzman yardımcısı, uzman, kıdemli uzman, teknik müdür ve müdür sınıflarımız olsun. Kullanacağımız patter factory pattern'dir. Peki bu pattern'i nasıl kullanacağız?


Ben bir FactoryClass'ı oluşturdum ve bunun içinde ilk olarak Personel interface'imi tanımladım.

interface












Şimdi de sınıflarımızı FactoryClass'ımızın içine ekleyelim.

class





































Birde işlemler sırasında kullanılmak üzere kullanacağım enum tanımladım. Bu bir sonraki adımda işimi kolaylaştıracak.

enum











Sırada gelen parametreye göre bize istediğimiz sınıfı bize döndürecek olan metodumuzu yazmaya
 geldi.

metot










Eveeett artık sıra tanımlarımızı kullanmaya sıra geldi. Tahmin edeceğiniz gibi yine MVC kullanıyorum :D

actionresult

















Şimdi ise View'de gelen verilerimizi görüntüleyelim.

view












Gelelim ekran görüntümüze bakalım ne oldu.

page











Bir design pattern'ın daha sonunda geldik. Bir dahaki design patternda görüşmek üzere hoşçakalın :)

Hiç yorum yok:

Yorum Gönder