示例#1
0
        public static void Extended()
        {
            // Step1.定义中介者对象
            SubConcreteMediator mediator = new SubConcreteMediator();

            // Step2.定义同事对象
            Button   addButton       = new Button();
            List     list            = new List();
            ComboBox cb              = new ComboBox();
            TextBox  userNameTextBox = new TextBox();
            Label    label           = new Label();

            addButton.SetMediator(mediator);
            list.SetMediator(mediator);
            cb.SetMediator(mediator);
            userNameTextBox.SetMediator(mediator);
            label.SetMediator(mediator);

            mediator.addButton       = addButton;
            mediator.list            = list;
            mediator.cb              = cb;
            mediator.userNameTextBox = userNameTextBox;
            mediator.label           = label;

            // Step3.点击增加按钮
            addButton.Changed();

            Console.WriteLine("---------------------------------------------");

            // Step4.从列表框选择客户
            list.Changed();
        }
示例#2
0
文件: Program.cs 项目: hyperpc/GoF_CS
        static void Main(string[] args)
        {
            // 1. MediatorSample
            {
                /*
                 * ConcreteMediator mediator = new ConcreteMediator();
                 * Button btn = new Button();
                 * List list = new List();
                 * ComboBox comboBox=new ComboBox();
                 * TextBox tb = new TextBox();
                 *
                 * btn.SetMediator(mediator);
                 * list.SetMediator(mediator);
                 * comboBox.SetMediator(mediator);
                 * tb.SetMediator(mediator);
                 *
                 * mediator.btn=btn;
                 * mediator.list = list;
                 * mediator.comboBox = comboBox;
                 * mediator.textBox=tb;
                 *
                 * btn.Changed();
                 * System.Console.WriteLine("----------------------------------");
                 * list.Changed();
                 */
            }

            // 2.
            {
                SubConcreteMediator submediator = new SubConcreteMediator();
                Button   btn      = new Button();
                List     list     = new List();
                ComboBox comboBox = new ComboBox();
                TextBox  tb       = new TextBox();
                Label    label    = new Label();

                btn.SetMediator(submediator);
                list.SetMediator(submediator);
                comboBox.SetMediator(submediator);
                tb.SetMediator(submediator);
                label.SetMediator(submediator);

                submediator.btn      = btn;
                submediator.list     = list;
                submediator.comboBox = comboBox;
                submediator.textBox  = tb;
                submediator.label    = label;

                btn.Changed();
                System.Console.WriteLine("----------------------------------");
                list.Changed();
            }

            // 3. UnitedNations
            // Mediator => MediatorUN
            // ConcreteMediator => WTO, WHO
            // Colleague => Country
            // ConcreteColleague => China, USA, Russia

            // 4. Windows UI
            // Mediator/ConcreteMediator => WindowsForm
            // Colleague => Panel
            // ConcreteColleague => TextPanel, ListPanel, GraphicPanel

            // 5. Temperature
            // Mediator => Control
            // ConcreteMediator => CtrlButtonUp, CtrlButtonDown, CtrlBar
            // Colleague => TemperatureDashboard
            // ConcreteColleague => TemperatureFahrenheit, TemperatureDashboardCelsius

            Console.ReadLine();
        }