Пример #1
0
        /// <summary>
        /// Aquí el visitor es el que va a visitar a la estructura. La estructura sigue teniendo los datos,
        /// pero en este caso cada visitor es quien decide como visitarlos. El problema que hacerlo así es que
        /// delego en cada visitor cómo se debe recorrer la estructura de objetos y por tanto me obliga a
        /// definirlo en cada visitor.
        /// </summary>
        private void exec()
        {
            //...
            ObjectStructure objectStructure = new ObjectStructure();

            objectStructure.Add(new ConcreteElementA());
            objectStructure.Add(new ConcreteElementA());
            objectStructure.Add(new ConcreteElementB());
            objectStructure.Add(new ConcreteElementA());
            //...
            new ConcreteVisitorA().VisitObjectStructure(objectStructure);
            //...
            new ConcreteVisitorB().VisitObjectStructure(objectStructure);
        }