🏃♀️ Visitor
Visitor tasarım deseni, üzerinde çalıştığımız nesnelerin sınıflarını değiştirmeden yeni bir özellik tanımlamamızı sağlayan bir tasarım desenidir.
İşlem yapılacak nesnelerde herhangi bir değişiklik yapılmaz. İşlemi ziyaretçi (Visitor) nesneleri yapar. Eğer sisteme yeni nesneler eklenmiyor, fakat sık sık yeni işlemlerin eklenmesi gerekiyorsa bu tasarım deseni kullanılabilir. Bu tasarım deseninin kullanılmasıyla, yapılacak işlemle ilgili kodların merkezi bir nesnede toplanır.
Bu tasarım desenine ait UML diyagramı aşağıdaki gibidir.

Visitor: Her
ConcreteVisitorörneği için metot temsil eder, parametre olarakElementsınıfından türeyen sınıfların örneğini alır.ConcreteVisitor:
Visitorarayüzünü ve burada tanımlı olan metotları uygular. Sonradan eklenmek istenen işlemler burada yer alır.Element:
ConcreteElementsınıfı örneklerinin ortak bir parametre olarak gitmesi için yapılan soyutlamadır.ConcreteElement:
Elementsınıfından türer.acceptmetoduna bulunduğu nesne örneği gönderilir.
Senaryo olarak elimizde kitaplarımızın olduğunu ve bu kitap bilgilerinin farklı şekillerde XML ya da JSON gibi çıktılarının alındığını düşünelim.
C# Kod Örneği:
Bu tasarım deseninin JAVA ve diğer diller için olan uygulamasını bu tasarım deseni için oluşturulmuş klasörde bulabilirsiniz.
Last updated