private void Start()
    {
        ConcreteMediator m = new ConcreteMediator();

        ConcreteColleague1 c1 = new ConcreteColleague1(m);
        ConcreteColleague2 c2 = new ConcreteColleague2(m);
        ConcreteColleague  c3 = new ConcreteColleague(m);
        ConcreteColleague  c4 = new ConcreteColleague(m);
        ConcreteColleague  c5 = new ConcreteColleague(m);
        ConcreteColleague  c6 = new ConcreteColleague(m);
        ConcreteColleague  c7 = new ConcreteColleague(m);

        //m.Colleague1 = c1;
        //m.Colleague2 = c2;
        m.AddColleague(c1);
        m.AddColleague(c2);
        m.AddColleague(c3);
        m.AddColleague(c4);
        m.AddColleague(c5);
        m.AddColleague(c6);
        m.AddColleague(c7);

        c1.Send("How are you?");
        c2.Send("Fine, thanks");
    }
 public void Send(string message, IColleague colleague)
 {
     if (colleague == FirstColleague)
     {
         ConcreteColleague2.Notify(message);
     }
     else
     {
         ConcreteColleague1.Notify(message);
     }
 }
Exemple #3
0
        static void Main(string[] args)
        {
            ConcreteMediator   m  = new ConcreteMediator();
            ConcreteColleague1 c1 = new ConcreteColleague1(m);
            ConcreteColleague2 c2 = new ConcreteColleague2(m);

            m.Colleague1 = c1;
            m.Colleague2 = c2;
            c1.Send("吃过饭了吗?");
            c2.Send("没有呢,你打算请客?");
            Console.ReadKey();
        }
Exemple #4
0
    static void Main()
    {
        ConcreteMediator   m  = new ConcreteMediator();
        ConcreteColleague1 c1 = new ConcreteColleague1(m);
        ConcreteColleague2 c2 = new ConcreteColleague2(m);

        m.Colleague1 = c1;
        m.Colleague2 = c2;
        c1.Send("How are you?");
        c2.Send("I'm good.");
        Console.ReadKey();
    }
Exemple #5
0
        public static void MediatorPattern()
        {
            ConcreteMediator   m  = new ConcreteMediator();
            ConcreteColleague1 c1 = new ConcreteColleague1(m);
            ConcreteColleague2 c2 = new ConcreteColleague2(m);

            m.Colleague1 = c1;
            m.Colleague2 = c2;
            c1.Send("吃过饭了么?");
            c2.Send("没有呢,你打算请客?");
            Console.Read();
        }
Exemple #6
0
        static void Main(string[] args)
        {
            var mediator   = new ConcreteMediator();
            var colleague1 = new ConcreteColleague1(mediator);
            var colleague2 = new ConcreteColleague2(mediator);

            mediator.Colleague1 = colleague1;
            mediator.Colleague2 = colleague2;

            colleague1.Send("1");
            colleague2.Send("2");
        }
Exemple #7
0
        static void Main(string[] args)
        {
            ConcreteMediator concreteMediator = new ConcreteMediator();

            ConcreteColleague1 colleague1 = new ConcreteColleague1(concreteMediator);
            ConcreteColleague2 colleague2 = new ConcreteColleague2(concreteMediator);

            concreteMediator.Colleague1 = colleague1;
            concreteMediator.Colleague2 = colleague2;

            colleague1.Send("吃过饭了吗?");
            colleague2.Send("没有呢,你打算请客?");
        }
        /// <summary>
        /// Entry point into console application.
        /// </summary>
        public void Run()
        {
            var m = new ConcreteMediator();

            var c1 = new ConcreteColleague1(m);
            var c2 = new ConcreteColleague2(m);

            m.Colleague1 = c1;
            m.Colleague2 = c2;

            c1.Send("How are you?");
            c2.Send("Fine, thanks");
        }
Exemple #9
0
    void Start()
    {
        ConcreteMediator m = new ConcreteMediator();

        ConcreteColleague1 c1 = new ConcreteColleague1(m);
        ConcreteColleague2 c2 = new ConcreteColleague2(m);

        m.Colleague1 = c1;
        m.Colleague2 = c2;

        c1.Send("How are you?");
        c2.Send("Fine, thanks");
    }
    static void Main()
    {
        ConcreteColleague1 c1 = new ConcreteColleague1();
        ConcreteColleague2 c2 = new ConcreteColleague2();

        c1.SetColleague(c2);
        c2.SetColleague(c1);

        c1.Send("How are you?");
        c2.Send("Fine, thanks");

        Console.ReadKey();
    }
        public static void MediatorStructural()
        {
            ConcreteMediator m = new ConcreteMediator();

            ConcreteColleague1 c1 = new ConcreteColleague1(m);
            ConcreteColleague2 c2 = new ConcreteColleague2(m);

            m.Colleague1 = c1;
            m.Colleague2 = c2;

            c1.Send("How are you?");
            c2.Send("Fine, thanks");
        }
Exemple #12
0
        public static void TestMediator()
        {
            ConcreteMediator m = new ConcreteMediator();

            ConcreteColleague1 c1 = new ConcreteColleague1(m);
            ConcreteColleague2 c2 = new ConcreteColleague2(m);

            m.Colleague1 = c1;
            m.Colleague2 = c2;
            var a = c1.Send(c2);

            Assert.AreEqual(c1.Send(c2), c1);
            Assert.AreEqual(c2.Send(c1), c2);
        }
        static void Main(string[] args)
        {
            ConcreteMediator mediator = new ConcreteMediator();

            ConcreteColleague1 colleague1 = new ConcreteColleague1(mediator);
            ConcreteColleague2 colleague2 = new ConcreteColleague2(mediator);

            mediator.Colleague1 = colleague1;
            mediator.Colleague2 = colleague2;

            colleague1.Send("Message 1");
            colleague2.Send("Message 2");

            Console.Read();
        }
    static void Main()
    {
        var c1 = new ConcreteColleague1();
        var c2 = new ConcreteColleague2();

        var m = new ConcreteMediator(c1, c2);

        c1.SetMediator(m);
        c2.SetMediator(m);

        c1.Send("How are you?");
        c2.Send("Fine, thanks");

        Console.ReadKey();
    }
    public static void UnitTest()
    {
        Console.WriteLine("Start Unit Test");

        ConcreteMediator pMediator = new ConcreteMediator();

        ConcreteColleague1 pColleague1 = new ConcreteColleague1(pMediator);
        ConcreteColleague2 pColleague2 = new ConcreteColleague2(pMediator);

        pMediator.SetColleague1(pColleague1);
        pMediator.SetColleague2(pColleague2);

        pColleague1.Action();
        pColleague2.Action();
    }
Exemple #16
0
            private static void Test()
            {
                var m = new ConcreteMediator();

                var c1 = new ConcreteColleague1(m);
                var c2 = new ConcreteColleague2(m);

                m.Colleague1 = c1;
                m.Colleague2 = c2;

                c1.Send("How are you?");
                c2.Send("Fine, thanks");

                Console.ReadKey();
            }
Exemple #17
0
        // "Mediator"

        // "Colleague"
        public void TestMediatorPattern()
        {
            var m = new ConcreteMediator();

            var c1 = new ConcreteColleague1(m);
            var c2 = new ConcreteColleague2(m);

            m.Colleague1 = c1;
            m.Colleague2 = c2;

            c1.Send("How are you?");
            c2.Send("Fine, thanks");

            // Wait for user
            Console.Read();
        }
Exemple #18
0
    // Entry point into console application
    static void Main()
    {
        mediator = new ConcreteMediator();

        c1 = new ConcreteColleague1(mediator);
        c2 = new ConcreteColleague2(mediator);

        mediator.Colleague1 = c1;
        mediator.Colleague2 = c2;

        c1.Send("How are you?");
        c2.Send("Fine, thanks");

        // Wait for user
        Console.ReadKey();
    }
        /// <summary>
        /// 
        /// </summary>
        static void Demo()
        {
            ConcreteMediator m = new ConcreteMediator();

            ConcreteColleague1 c1 = new ConcreteColleague1(m);
            ConcreteColleague2 c2 = new ConcreteColleague2(m);

            m.Colleague1 = c1;
            m.Colleague2 = c2;

            c1.Send("How are you?");
            c2.Send("Fine, thanks");

            // Wait for user
            Console.ReadKey();
        }
        private static void callMediator()
        {
            ConcreteMediator m = new ConcreteMediator();

            ConcreteColleague1 c1 = new ConcreteColleague1(m);
            ConcreteColleague2 c2 = new ConcreteColleague2(m);

            m.Colleague1 = c1;
            m.Colleague2 = c2;

            c1.Send("How are you?");
            c2.Send("Fine, thanks");

            // Wait for user
            Console.ReadKey();
        }
Exemple #21
0
        //Посередник - Mediator
        public Run Mediator()
        {
            Console.WriteLine("\nMediator:");

            ConcreteMediator m = new ConcreteMediator();

            ConcreteColleague1 c1 = new ConcreteColleague1(m);
            ConcreteColleague2 c2 = new ConcreteColleague2(m);

            m.Colleague1 = c1;
            m.Colleague2 = c2;

            c1.Send("How are you?");
            c2.Send("Fine, thanks");

            return(this);
        }
Exemple #22
0
        static void MediatorTester()
        {
            #region sample 1
            ConcreteMediator m = new ConcreteMediator();

            ConcreteColleague1 c1 = new ConcreteColleague1(m);
            ConcreteColleague2 c2 = new ConcreteColleague2(m);

            m.Colleague1 = c1;
            m.Colleague2 = c2;

            c1.Send("How are you?");
            c2.Send("Fine, thanks");
            #endregion

            #region sample 2
            // Create chatroom
            Chatroom chatroom = new Chatroom();

            // Create participants and register them
            Participant George = new Beatle("George");
            Participant Paul   = new Beatle("Paul");
            Participant Ringo  = new Beatle("Ringo");
            Participant John   = new Beatle("John");
            Participant Yoko   = new NonBeatle("Yoko");

            chatroom.Register(George);
            chatroom.Register(Paul);
            chatroom.Register(Ringo);
            chatroom.Register(John);
            chatroom.Register(Yoko);

            // Chatting participants
            Yoko.Send("John", "Hi John!");
            Paul.Send("Ringo", "All you need is love");
            Ringo.Send("George", "My sweet Lord");
            Paul.Send("John", "Can't buy me love");
            John.Send("Yoko", "My sweet love");
            #endregion
        }
  public static void Main(string[] args)
  {
    ConcreteMediator m = new ConcreteMediator();

    ConcreteColleague1 c1 = new ConcreteColleague1( m );
    ConcreteColleague2 c2 = new ConcreteColleague2( m );

    m.Colleague1 = c1;
    m.Colleague2 = c2;

    c1.Send( "How are you?" );
    c2.Send( "Fine, thanks" );

    Console.Read();
  }
 public void SetConcreteColleague1(ConcreteColleague1 colleague)
 {
     _colleague1 = colleague;
 }
 public void SetColleague(ConcreteColleague1 colleague)
 {
     this.colleague = colleague;
 }
 public ValidatorMediator(ConcreteColleague1 colleague1, ConcreteColleague2 colleague2) : base(colleague1, colleague2)
 {
 }
        static void Main(string[] args)
        {
            // Abstract factory
            IFactory concreteFactory = new WindowsFactory();
            var      obj1            = concreteFactory.CreateCloneable();
            var      obj2            = concreteFactory.CreateComparable();

            // Builder
            IBuilder builder  = new Builder1();
            var      director = new Director(builder);
            var      product  = director.Construct <IProduct>();

            // Factory method
            Application app      = new DrawingApplication();
            Document    document = app.CreateDocument();

            // Prototype
            Prototype prototype = new ConcretePrototype1();
            Prototype newObject = prototype.Clone();

            // Command
            Receiver receiver = new Receiver();
            Command  command  = new ConcreteCommand(receiver);
            Invoker  invoker  = new Invoker();

            invoker.SetCommand(command);
            invoker.ExecuteCommand();

            // Interpreter
            var context = new Context();

            AbstrcatExpression experssion1 = new NonterminalExpression();
            AbstrcatExpression expression2 = new TerminalExpression();

            experssion1.Interpret(context);
            expression2.Interpret(context);

            // Mediator
            ConcreteMediator m = new ConcreteMediator();

            ConcreteColleague1 c1 = new ConcreteColleague1(m);
            ConcreteColleague2 c2 = new ConcreteColleague2(m);

            m.Colleague1 = c1;
            m.Colleague2 = c2;

            c1.Send("How are you?");
            c2.Send("Fine, thanks");

            // Memoto
            Originator o = new Originator();

            o.State = "On";

            // Store internal state
            Caretaker c = new Caretaker();

            c.Memento = o.CreateMemento();

            // Continue changing originator
            o.State = "Off";

            // Restore saved state
            o.SetMemento(c.Memento);

            // Observer
            ConcreteSubject s = new ConcreteSubject();

            s.Attach(new ConcreteObserver(s, "X"));
            s.Attach(new ConcreteObserver(s, "Y"));
            s.Attach(new ConcreteObserver(s, "Z"));

            // Change subject and notify observers
            s.SubjectState = "ABC";
            s.Notify();
        }
Exemple #28
0
 public ConcreteMediator()
 {
     colleague1 = new ConcreteColleague1(this);
     colleague2 = new ConcreteColleague2(this);
 }
    // Entry point into console application
    static void Main()
    {
        mediator = new ConcreteMediator();

        c1 = new ConcreteColleague1(mediator);
        c2 = new ConcreteColleague2(mediator);

        mediator.Colleague1 = c1;
        mediator.Colleague2 = c2;

        c1.Send("How are you?");
        c2.Send("Fine, thanks");

        // Wait for user
        Console.ReadKey();
    }
Exemple #30
0
 public ShouterMediator(ConcreteColleague1 colleague1, ConcreteColleague2 colleague2) : base(colleague1, colleague2)
 {
 }
 public ConcreteMediator(ConcreteColleague1 colleague1, ConcreteColleague2 colleague2) : base(colleague1, colleague2)
 {
 }
 public void SetColleague1(ConcreteColleague1 theColleague)
 {
     m_Colleague1 = theColleague;
 }
 public Mediator(ConcreteColleague1 colleague1, ConcreteColleague2 colleague2)
 {
     this.colleague1 = colleague1;
     this.colleague2 = colleague2;
 }