香格里拉对话——中介者模式有想法

    近日以来,亚太问题引起了世界的关注,习主席将亚太问题归结为热点敏感问题、民族宗教矛盾恐怖主义、跨国犯罪、环境安全、网络安全、能源资源安全、重大自然灾害,同时由于各国利益冲突的存在,使得亚太问题持续升温。为了响应和平发展的口号,顺应时代发展的驱使,各国代表在菲律宾召开了20104香格里拉对话,在此次对话上也让我们看到了部分国家的言行不一、搬弄是非、扩大不稳定因素等行为,让诸多代表发指。

    恰巧自己刚学习了中介者模式,感觉对于这种关系很适用该模式,所以自己认真研究了一番,以下是自己代码

<span style="font-family:KaiTi_GB2312;font-size:18px;"><strong>using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _25中介者模式
{
    class Program
    {
        //沟通平台
        abstract class CommunicationPlatform
        {
            public abstract void Declare(string message, Country colleague);
        }

        //国家
        abstract class Country
        {
            protected CommunicationPlatform  platform;

            public Country(CommunicationPlatform  platform)
            {
                this.platform  = platform ;
            }
        }

        //美国类
        class USA : Country
        {
            public USA(CommunicationPlatform platform)
                : base(platform )
            { }

            public void Delare(string message)
            {
                platform.Declare(message, this);
            }

            public void GetMessage(string message)
            {
                Console.WriteLine("美国获得对方信息:" + message);
            }
        }

        //中国类
        class China : Country
        {
            public China(CommunicationPlatform platform)
                : base(platform )
            { }

            public void Declare(string message)
            {
                platform.Declare(message, this);
            }

            public void GetMessage(string message)
            {
                Console.WriteLine("中国获得对方信息:" + message);
            }
        }

        //香格里拉对话(具体平台)
        class UnitedNntionsSecurityCouncil : CommunicationPlatform
        {
            private USA colleague1;
            private China  colleague2;

            //美国
            public USA Colleague1
            {
                set { colleague1 = value; }
            }
            //中国
            public China  Colleague2
            {
                set { colleague2 = value; }
            }

            //声明
            public override void Declare(string message, Country colleague)
            {
 	            if(colleague==colleague1 )
                    {
                        colleague2.GetMessage(message );
                    }
                else
                    {
                        colleague1.GetMessage(message );
                    }

            }
        }
        static void Main(string[] args)
        {
            UnitedNntionsSecurityCouncil UNSC = new UnitedNntionsSecurityCouncil();

            USA c1 = new USA(UNSC);
            China  c2 = new China (UNSC);

            UNSC.Colleague1 = c1;
            UNSC.Colleague2 = c2;

            c1.Delare("我要做老大,谁也不能撼动我的权利!");
            c2.Declare("我们不争做什么“老大”,我们只会为了自己的发展而维护自己的利益!");

            Console.Read();
        }
    }
}
</strong></span>

运行的结果如下:

    当然,这个例子也许并不是很适用于模式,但是最近亚太局势如此紧张,也让自己不得不去关注一下。在此声明,此篇文章没有任何极端情感存在,只是作为自己学习只是和国家时事的一个小小结合,还请大家多多指正,很希望得到大家的意见和建议!

香格里拉对话——中介者模式有想法

时间: 2024-07-31 12:33:19

香格里拉对话——中介者模式有想法的相关文章

设计模式(行为型)之中介者模式(Mediator Pattern)

PS一句:最终还是选择CSDN来整理发表这几年的知识点,该文章平行迁移到CSDN.因为CSDN也支持MarkDown语法了,牛逼啊! [工匠若水 http://blog.csdn.net/yanbober] 阅读前一篇<设计模式(行为型)之职责链模式(Chain of Responsibility Pattern)>http://blog.csdn.net/yanbober/article/details/45531395 概述 如果对象之间的联系呈现为网状结构,存在大量的多对多联系,在网状结

第19章 行为型模式—中介者模式

1. 中介者模式(Mediator Pattern)的定义 (1)定义:用一个中介对象来封装一系统对象交互.中介者使得各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互.       ①中介者模式主要用来将同事类之间网状结构变为星状结构,使同事类之间的关系变的清晰一些. ②所有对象只跟中介者对象进行通信,相互之间不再有联系,这样也能够集中控制这些对象的交互关系. (2)中介者模式的结构和说明 ①Mediator: 中介者接口.在里面定义各个同事之间交互需要的方法,可以

《大话设计模式》学习笔记21:中介者模式

同事间接收消息示例: 1.Mediator: public abstract class Mediator { public abstract void Send(string message, Colleague colleague); } 2.Colleague: public abstract class Colleague { protected Mediator mediator; public Colleague(Mediator mediator) { this.mediator

设计模式开始--中介者模式

中介者模式 一.问题 用一个中介对象来封装一系列对象的交互,好多对象之间交互,会形成错综复杂的网络,类和类之间相互引用,表现形式是多对多,为了改变这种紧耦合的情况,引入中介者,用中介者与各个类进行交互,形成一个星形的网络,中介者在星形网络的中间,其余的对象组成网络的每一个边 二.类图和实例 (1)未使用中介者(联合国)之前的国与国家之间的联系 (2)使用了中介者之后,国与国之间联系通过联合国进行联系 (3)类图设计 三.实现 (1)抽象中介者用于定义格式 具体中介者用于定义那几个类之间有关系,他

23种设计模式--中介者模式-Mediator Pattern

一.中介者模式的介绍     中介者模式第一下想到的就是中介,房子中介,婚姻中介啊等等,当然笔者也希望来个婚姻中介给我介绍一个哈哈哈,,回归正题中介者模式分成中介者类和用户类,根据接口编程的方式我们再把中介和用户类分成2个类,这样就成了抽象中介者角色,具体中介者角色.抽象同事类和具体同事类.来几个例子比如说各种游戏平台,还有我们最熟悉的QQ平台,等等这些都是中介者模式的具体应用,中介者模式常用于处理通信之间复杂有关联的业务,这样就会存在一个缺点比如说因为中介者处理了好多用户之间的关系,一但发生错

java中介者模式

中介者模式主要在于解耦,使用一个中介的对象,封装一组对象之间的交互,这样这些对象就可以不用彼此耦合. 应用场景: 1.当一组对象要进行沟通或者业务上的交互,但是其关系又很复杂混乱时. 2.当一个对象与其他对象要进行紧密的交互,又不想依赖于其他对象时. 3.想创造一个运行于多个类之间的对象,又不想生成新的子类. 附代码: 1 abstract class Link { //对象父类 2 protected int number; 3 4 public int getNumber() { 5 ret

中介者模式(Mediator)

一.中介者模式介绍 中介者模式:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显示地相互引用.从而使其耦合松散,而且可以独立地改变它们之间的交互. 中介者模式核心:1.就是将网状结构处理成星型结构      2.将多对多处理成一对多 例如:世界上各个国家的和平和安全,沟通和交流等等问题,如果各个国家都可以互相交互的话,容易造成混乱,关系复杂. 这个时候联合国的作用就出现了,联合国作为一个中介对象来维护各个国家的和平和安全等等的工作. 中介者模式UML图: 例如:公司中如果没有部门经理

【设计模式】中介者模式

中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性.这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护.中介者模式属于行为型模式. 介绍 意图:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互. 主要解决:对象与对象之间存在大量的关联关系,这样势必会导致系统的结构变得很复杂,同时若一个对象发生改变,我们也需要跟踪与之相关联的对象,同时做出相应的处理. 何

中介者模式(Mediator Pattern)

中介者模式:集中相关对象之间复杂的沟通和控制方式. 模式结构图: 例子: 在这里ChatRoom是一个中介者,有多个User会使用中介者,形成一个用户间的聊天室,如果以后添加一个管理员与用户沟通,就不需要修改User代码了(当然中介者的代码需要修改,因为要添加处理管理员与用户之间交互的功能),只要加一个管理员类Manager,与中介者ChatRoom沟通,User不需要知道别的用户,Manager也不需要知道用户的细节. public class ChatRoom { public static