İlginizi Çekebilir
  1. Ana Sayfa
  2. C#
  3. Visitor Pattern in C#

Visitor Pattern in C#

Visitor Pattern in C#
JFORCE - Dell Technologies İşbirliği Başlıyor!

Bu makalemde sizlere visitor nedir, kullanım amacı nedir ve nasıl implemente edilir gibi soruların yanıtlarını aktarmaya çalışacağım. Bunun için bir senaryo üzerinde sorunumuzu tanımlayıp cevap arayalım.

Diyelim ki bir membership yapısı kurdunuz ve bu yapıyı koruyarak yeni metodlar ekleyip membership class’ınıza ait özellikleri de kullanarak methodunuzu esnek bir şekilde geliştirebilmek istiyoruz. Bunun için öncelikle membership class’ımızı ziyaret edecek soyut bir yapı tasarlamamız gerekmektedir.

Burada visitor ’ini tanımladık. Buradaki Visit methodu içine verilen bir IMembershipManager tipindeki class’ın tüm özelliklerini kullanarak istediğimiz işi gerçekleştirebilmektedir. Şimdi asıl Membership yapımızı kuralım.

Şimdi membership yapımızın concrete class ını yaratalım.

Yukarıdaki Accept methodumuz IMembershipVisitor interface’inden türetilen herhangi bir class’ı parametre olarak alıp Visit methodunu çalıştıracaktır.

Böylece class dışından türetilen farklı methodları Membership class’ımıza dahil bir şekilde çalıştırabileceğiz ve ana yapıyı da bozmayacağız.

Şimdi örnek bir Visitor class geliştirelim.

Şimdi sonradan tasarladığımız ForgetPasswordVisitor class’ını içerisindeki Visit methodunun işlevini Membership class’ımızın işlevlerine uygun bir şekilde çalıştırabilmek için Membership class’ımızın Accept methoduna veriyoruz.
[crayon-607fb1a786d4536776546/]
Bu şekilde IMembershipVisitor den türettiğimiz her yeni class’ı artık Accept methodu aracılığıyla yeni özellik olarak membership class’ımıza verebileceğiz.

Hoşçakalın.

JFORCE - Dell Technologies İşbirliği Başlıyor!
Yorum Yap

Yazar Hakkında

Fatih Mert, lisans eğitimini Sakarya Üniversite Bilgisayar Mühendisliği’nde tamamlamıştır. Şu anda Bahçeşehir Üniversitesi’nde Yapay Zeka yüksek lisansı okumaktadır. İş hayatında üniversitenin ilk yıllarında .Net ve Sql Server gibi Microsoft teknolojileri ile başlamış ve sonrasında Xamarin, Azure, Angular ve Flutter gibi teknoljilerle de ilgilenip çeşitli yazılımlar üretmiştir. Arçelik, Doğuş Yayın Grubu, Aygaz, Doğan Medya gibi sektörün önde gelen firmalarında C#, .Net, Sql Server, Xamarin ürünleri ile çalışmış, Design Patterns ve Enterprise Architecture konularıyla uzun süredir uğraşmaktadır. Şu anda Xinerji Software firmasında Yazılım Mimarı ve Ekip Lideri olarak çalışmaktadır.

Yorum Yap

Yorumlar (3)

  1. fatihmert_avatar
    2 ay önce

    Son yazılımcı yurt dışından kabul aldığında,
    son takım lideri business class’tan yer ayırttığında,
    malûm kesim spaghetti kodun yenmeyen bişey olduğunu anlayacak!

    Ellerine sağlık Fatih kardeş 🙂

  2. fatihmert_avatar

    Hocam emeğinize sağlık. Yazılarınızın devamını bekliyoruz.

  3. fatihmert_avatar
    1 ay önce

    Emeğinize, elinize sağlık, güzel bir yazı olmuş .👏🏼

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir