static void Main(string[] args)
        {
            Client client = new Client();

            Abstraction abstraction;

            abstraction = new Abstraction(new ConcreteImplementationA());
            client.ClientCode(abstraction);

            Console.WriteLine();

            abstraction = new ExtendedAbstraction(new ConcreteImplementationB());
            client.ClientCode(abstraction);
        }
예제 #2
0
파일: Program.cs 프로젝트: artag/Training
        static void Main(string[] args)
        {
            var abstraction1 = new Abstraction(new ConcreteImplementationA());
            var client1      = new Client(abstraction1);

            client1.DoWork();

            Console.WriteLine();

            var abstraction2 = new ExtendedAbstraction(new ConcreteImplementationB());
            var client2      = new Client(abstraction2);

            client2.DoWork();
        }
예제 #3
0
        static void Main(string[] args)
        {
            Client client = new Client();

            Abstraction abstraction;

            //// The client code should be able to work with any pre-configured abstraction-implementation combination.
            abstraction = new Abstraction(new ConcreteImplementationA());
            client.ClientCode(abstraction);

            Console.WriteLine();

            abstraction = new ExtendedAbstraction(new ConcreteImplementationB());
            client.ClientCode(abstraction);
        }
예제 #4
0
        static void Main(string[] args)
        {
            Client client = new Client();

            Abstraction abstraction;

            // Клиентский код должен работать с любой предварительно
            // сконфигурированной комбинацией абстракции и реализации.
            abstraction = new Abstraction(new ConcreteImplementationA());
            client.ClientCode(abstraction);

            Console.WriteLine();

            abstraction = new ExtendedAbstraction(new ConcreteImplementationB());
            client.ClientCode(abstraction);
        }