static void Main(string[] args) { //İlk başta sadece ITelefon arayüzü ve bunu uygulayan sınıflar var //ITelefon arayüzünde ise sadece ara metodu var ITelefon Model1 = new TelModel1(); ITelefon Model2 = new TelModel2(); Model1.Ara("0212-111-22-33"); Model2.Ara("0212-444-55-66"); //Sonra ITelefon arayüzünü uygulayan sınıfların bazılarına yeni özellikler eklemek gerekti. //İlk olarak ITelefon arayüzünü uygulayan sınıflara göre Visitor Interface yi tanımlıyoruz. //Ardından ekleyeceğimiz her özellik için bu arayüzü uygulayan ConcreteVisitor sınıflarını yazıyoruz. //Mesaj Gönderim için MesajModulVisitor sınıfını oluşturuyoruz ITelVisitor MesajVisitor = new MesajModulVisitor(); Model1.ModuluYukle(MesajVisitor); Model2.ModuluYukle(MesajVisitor); //Ve sonrada MMS gönderimi icat oldu ve MMS için MmsModulVisitor sınıfını oluşturuyoruz. ITelVisitor MmsVisitor = new MmsModulVisitor(); Model1.ModuluYukle(MmsVisitor); Model2.ModuluYukle(MmsVisitor); Console.ReadKey(); }
public void Visit(TelModel1 tel) { Console.WriteLine("TelModel1 MMS gönderemez..."); }
public void Visit(TelModel1 tel) { Console.WriteLine("TelModel1 mesaj gönderebileceğinden mesaj gönderiliyor..."); }