static void Main(string[] args) { // canonical var objectStructure = new ObjectStructure(); objectStructure.Attach(new ConcreteElementA()); objectStructure.Attach(new ConcreteElementB()); objectStructure.Attach(new ConcreteElementC()); objectStructure.Accept(new ConcreteVisitor1()); objectStructure.Accept(new ConcreteVisitor2()); // live Console.WriteLine(); var staff = new Staff(); staff.Attach(new Director("Azat")); staff.Attach(new Clerk("Joe")); staff.Attach(new Clerk("Ann")); for (int i = 0; i < 3; i++) { staff.Accept(new VacationVisitor()); } }
static void Main(string[] args) { ObjectStructure objectStructure = new ObjectStructure(); objectStructure.Attach(new ConcreteElementA()); objectStructure.Attach(new ConcreteElementB()); objectStructure.Accept(new ConcreteVisitorFirst()); objectStructure.Accept(new ConcreteVisitorSecond()); }
static void Main() { var objectStructure = new ObjectStructure(); objectStructure.Attach(new ConcreteElementA()); objectStructure.Attach(new ConcreteElementB()); objectStructure.Accept(new ConcreteVisitorA()); objectStructure.Accept(new ConcreteVisitorB()); }
static void Main() { ObjectStructure structure = new ObjectStructure(); structure.Add(new ConcreteElementA()); structure.Add(new ConcreteElementB()); structure.Accept(new ConcreteVisitor1()); structure.Accept(new ConcreteVisitor2()); }
static void Main(string[] args) { ObjectStructure os = new ObjectStructure(); os.addElement(new ConcreteElementA()); os.addElement(new ConcreteElementB()); os.Accept(new ConcreteVisitor1()); os.Accept(new ConcreteVisitor2()); }
static void Main(string[] args) { ObjectStructure o = new ObjectStructure(); o.Attach(new ElementA()); o.Attach(new ElementB()); o.Accept(new Visitor1()); o.Accept(new Visitor2()); Console.ReadKey(); }
static void Main(string[] args) { ObjectStructure os = new ObjectStructure(); os.Add(new ConcreteElementA()); os.Add(new ConcreteElementB()); ConcreteVisitor1 cv1 = new ConcreteVisitor1(); ConcreteVisitor2 cv2 = new ConcreteVisitor2(); os.Accept(cv1); os.Accept(cv2); Console.Read(); }
static void Main() { ObjectStructure o = new ObjectStructure(); o.Attach(new ConcreteElementA()); o.Attach(new ConcreteElementB()); ConcreteVisitor1 v1 = new ConcreteVisitor1(); ConcreteVisitor2 v2 = new ConcreteVisitor2(); o.Accept(v1); o.Accept(v2); Console.ReadKey(); }
static void Main(string[] args) { ObjectStructure o = new ObjectStructure(); o.Anexar(new ConcreteElementA()); o.Anexar(new ConcreteElementB()); ConcreteVisitor1 v1 = new ConcreteVisitor1(); ConcreteVisitor2 v2 = new ConcreteVisitor2(); o.Accept(v1); o.Accept(v2); Console.ReadKey(); }
static void Main() { ObjectStructure obj = new ObjectStructure(); obj.Attach(new ConcreteElementA()); obj.Attach(new ConcreteElementB()); ConcreteVisitor1 v1 = new ConcreteVisitor1(); ConcreteVisitor2 v2 = new ConcreteVisitor2(); obj.Accept(v1); obj.Accept(v2); Console.ReadKey(); }
private static void Main() { var objectStructure = new ObjectStructure(); objectStructure.Attach(new ConcreteElementA()); objectStructure.Attach(new ConcreteElementB()); var visitor1 = new ConcreteVisitor1(); var visitor2 = new ConcreteVisitor2(); objectStructure.Accept(visitor1); objectStructure.Accept(visitor2); Console.ReadKey(); }
private static void Main() { var objectStructure = new ObjectStructure(); objectStructure.Attach(new ConcreteElementA()); objectStructure.Attach(new ConcreteElementB()); var concreteVisitorA = new ConcreteVisitorA(); var concreteVisitorB = new ConcreteVisitorB(); objectStructure.Accept(concreteVisitorA); objectStructure.Accept(concreteVisitorB); Console.ReadKey(); }
static void Main(string[] args) { ObjectStructure o = new ObjectStructure(); o.Attach(new Element1()); o.Attach(new Element2()); var v1 = new Visitor1(); var v2 = new Visitor2(); o.Accept(v1); o.Accept(v2); Console.ReadKey(); }
static void Main(string[] args) { ObjectStructure objectStructure = new ObjectStructure(); objectStructure.Attach(new ConcreteElementA()); objectStructure.Attach(new ConcreteElementB()); ConcreteVisitor1 concreteVisitor1 = new ConcreteVisitor1(); ConcreteVisitor2 concreteVisitor2 = new ConcreteVisitor2(); objectStructure.Accept(concreteVisitor1); objectStructure.Accept(concreteVisitor2); Console.Read(); }
static void Main() { // Setup structure ObjectStructure o = new ObjectStructure(); o.Attach(new ConcreteElementA()); o.Attach(new ConcreteElementB()); // Create visitor objects ConcreteVisitor1 v1 = new ConcreteVisitor1(); ConcreteVisitor2 v2 = new ConcreteVisitor2(); // Structure accepting visitors o.Accept(v1); o.Accept(v2); }
static void Main(string[] args) { ObjectStructure list = new ObjectStructure(); list.AddEmployee(new FulltimeEmployee("Mike", 2000)); list.AddEmployee(new FulltimeEmployee("Tony", 3000)); list.AddEmployee(new ParttimeEmployee("Nancen", 800)); list.AddEmployee(new ParttimeEmployee("Bibo", 500)); FinanceVisitor fVisitor = new FinanceVisitor(); HrVisitor hVisitor = new HrVisitor(); list.Accept(fVisitor); list.Accept(hVisitor); Console.ReadKey(); }
static void Main(string[] args) { //访问者模式 ObjectStructure o = new ObjectStructure(); o.Attach(new ConcreteElementA()); o.Attach(new ConcreteElementB()); ConcreteVisitor1 v1 = new ConcreteVisitor1(); o.Accept(v1); //o.Accept(); ObjectStructurePerson person = new ObjectStructurePerson(); person.Attach(new Man()); person.Attach(new Woman()); Success sc = new Success(); person.Display(sc); Console.Read(); }
static void Main() { // Setup structure ObjectStructure o = new ObjectStructure(); o.Attach(new ConcreteElementA()); o.Attach(new ConcreteElementB()); // Create visitor objects ConcreteVisitor1 v1 = new ConcreteVisitor1(); ConcreteVisitor2 v2 = new ConcreteVisitor2(); // Structure accepting visitors o.Accept(v1); o.Accept(v2); // Wait for user Console.ReadKey(); }
void Main() { DbContext context = new DbContext(); var structure = new ObjectStructure(); structure.Add(new BaseRepository <Inquiry>(context)); structure.Accept(new ConcreteVisitor1()); }
static void Main(string[] args) { SampleObjectStructure sampleObjectStructure = new SampleObjectStructure(); sampleObjectStructure.Attach(new Man()); sampleObjectStructure.Attach(new Woman()); // 成功時的反應 Action success = new Success(); sampleObjectStructure.Display(success); // 失敗時的反應 Action failing = new Failing(); sampleObjectStructure.Display(failing); // 戀愛時的反應 Action amativeness = new Amativeness(); sampleObjectStructure.Display(amativeness); // 結婚時的反應 Action marriage = new Marriage(); sampleObjectStructure.Display(marriage); Console.WriteLine(); ObjectStructure objectStructure = new ObjectStructure(); objectStructure.Attach(new ConcreteElementA()); objectStructure.Attach(new ConcreteElementB()); Visitor concreteVisitor1 = new ConcreteVisitor1(); Visitor concreteVisitor2 = new ConcreteVisitor2(); objectStructure.Accept(concreteVisitor1); objectStructure.Accept(concreteVisitor2); Console.ReadLine(); }
public static void Run() { Console.WriteLine("This structural code demonstrates the Visitor pattern in which an object traverses an object structure and performs the same operation on each node in this structure. Different visitor objects define different operations.\n"); ObjectStructure o = new ObjectStructure(); o.Attach(new ConcreteElementA()); o.Attach(new ConcreteElementB()); ConcreteVisitor1 v1 = new ConcreteVisitor1(); ConcreteVisitor2 v2 = new ConcreteVisitor2(); o.Accept(v1); o.Accept(v2); /* * ConcreteElementA visited by ConcreteVisitor1 * ConcreteElementB visited by ConcreteVisitor1 * ConcreteElementA visited by ConcreteVisitor2 * ConcreteElementB visited by ConcreteVisitor2 */ }
private static void Main(string[] args) { // Setup structure ObjectStructure o = new ObjectStructure(); o.Attach(new ConcreteElementA()); o.Attach(new ConcreteElementB()); // Create visitor objects ConcreteVisitor1 v1 = new ConcreteVisitor1(); ConcreteVisitor2 v2 = new ConcreteVisitor2(); // Structure accepting visitors o.Accept(v1); o.Accept(v2); // Wait for user Console.ReadKey(); }
static void Main(string[] args) { try { ObjectStructure o = new ObjectStructure(); o.Attach(new ConcreteElementA()); o.Attach(new ConcreteElementB()); // Create visitor objects ConcreteVisitor1 v1 = new ConcreteVisitor1(); ConcreteVisitor2 v2 = new ConcreteVisitor2(); // Structure accepting visitors o.Accept(v1); o.Accept(v2); } finally { Console.ReadKey(); } }