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 static void Intialize() { // Step1.定义中介者对象 ConcreteMediator mediator = new ConcreteMediator(); // Step2.定义同事对象 Button addButton = new Button(); List list = new List(); ComboBox cb = new ComboBox(); TextBox userNameTextBox = new TextBox(); addButton.SetMediator(mediator); list.SetMediator(mediator); cb.SetMediator(mediator); userNameTextBox.SetMediator(mediator); mediator.addButton = addButton; mediator.list = list; mediator.cb = cb; mediator.userNameTextBox = userNameTextBox; // Step3.点击增加按钮 addButton.Changed(); Console.WriteLine("---------------------------------------------"); // Step4.从列表框选择客户 list.Changed(); }
public void DoubleProviderTestCloudToXml() { EmptyDirectory(Path.Combine(Environment.CurrentDirectory, "..\\..\\..\\Target Files")); Configurator configurator = new Configurator(); ConcreteMediator <string, string> m = new ConcreteMediator <string, string>(); CloudReaderProvider ReaderProvider = new CloudReaderProvider(m); configurator.ConfigureSourcePath(ReaderProvider, Path.Combine("cloudPath", "\\cloudDirectory")); configurator.ConfigureUserName(ReaderProvider, "testUser"); configurator.ConfigurePassword(ReaderProvider, "testPassword"); configurator.ConfigureUrl(ReaderProvider, "cloudUrl"); XmlWriterProvider xmlWriter = new XmlWriterProvider(m); configurator.ConfigureDestinationPath(xmlWriter, Path.Combine(Environment.CurrentDirectory, "..\\..\\..\\Target Files\\Document1.xml")); DoubleProvider <string, string> doubleProvider = new DoubleProvider <string, string>(ReaderProvider, xmlWriter, m); doubleProvider.Process(); Assert.IsTrue(File.Exists(Path.Combine(Environment.CurrentDirectory, "..\\..\\..\\Target Files\\Document1.xml"))); }
public StatisticsVM() : base(ConcreteMediator.getInstance()) { ConcreteMediator.getInstance().StatisticsVM = this; _statistics = new Statistics(); ScorePlayer = _statistics.GetPlayerStatistics(); }
static void Main16() { Console.WriteLine("Hello Mediator Pattern!"); var platform = new ConcreteMediator(); var a = new ConcreteColleague("A", platform); var b = new ConcreteColleague("B", platform); var c = new ConcreteColleague("C", platform); var d = new ConcreteColleague("D", platform); var e = new ConcreteColleague("E", platform); a.JoinChat(); b.JoinChat(); c.JoinChat(); d.JoinChat(); e.JoinChat(); a.SendMessage("Hello world!"); b.SendMessage("Hello world!"); c.SendMessage("Hello world!"); d.SendMessage("Hello world!"); e.SendMessage("Hello world!"); a.LeaveChat(); b.LeaveChat(); c.LeaveChat(); d.LeaveChat(); e.LeaveChat(); Console.ReadLine(); }
public void WhenSendingMessageToSpecificTypeOfReceiver_ShouldSendMessageToAllFromTypeExceptOriginalSender() { var mediator = new ConcreteMediator(); var colleague1Mock = new Mock <ConcreteColleague1>() { CallBase = true }; var colleague2Mock = new Mock <ConcreteColleague1>() { CallBase = true }; var colleague3Mock = new Mock <ConcreteColleague3>() { CallBase = true }; colleague1Mock.Setup(c => c.Receive(It.IsAny <string>())); colleague2Mock.Setup(c => c.Receive(It.IsAny <string>())); colleague3Mock.Setup(c => c.Receive(It.IsAny <string>())); var colleague1 = colleague1Mock.Object; var colleague2 = colleague2Mock.Object; var colleague3 = colleague3Mock.Object; mediator.Register(colleague1); mediator.Register(colleague2); mediator.Register(colleague3); colleague1.Send <ConcreteColleague1>("Custom message"); colleague1Mock.Verify(c => c.Receive(It.IsAny <string>()), Times.Never); colleague2Mock.Verify(c => c.Receive("Custom message"), Times.Once); colleague3Mock.Verify(c => c.Receive(It.IsAny <string>()), Times.Never); }
protected override void RealTestOutPut() { var mediator = new ConcreteMediator(); var a = new ColleagueA(mediator); var b = new ColleagueB(mediator); var c = new ColleagueC(mediator); var list = new List <AbstractColleague>() { a, b, c }; println("Change a to 100 and notify colleagues"); a.Data = 100; a.Changed(); Print(list); println("Change b to 100 and notify colleagues"); b.Data = 100; b.Changed(); Print(list); println("Change c to 100 and notify colleagues"); c.Data = 100; c.Changed(); Print(list); }
public void Test() { var mediator = new ConcreteMediator <string>(); var producer1 = new ConcreteProducer <string>(mediator); var producer2 = new ConcreteProducer <string>(mediator); var consumer1 = new ConcreteConsumer <string>(); var consumer2 = new ConcreteConsumer <string>(); var consumer3 = new ConcreteConsumer <string>(); mediator.Register(consumer1); mediator.Register(consumer2); mediator.Register(consumer3); Assert.That(consumer1.Notification, Is.Null); Assert.That(consumer2.Notification, Is.Null); Assert.That(consumer3.Notification, Is.Null); producer1.Publish("producer 1"); Assert.That(consumer1.Notification, Is.EqualTo("producer 1")); Assert.That(consumer2.Notification, Is.EqualTo("producer 1")); Assert.That(consumer3.Notification, Is.EqualTo("producer 1")); producer2.Publish("producer 2"); Assert.That(consumer1.Notification, Is.EqualTo("producer 2")); Assert.That(consumer2.Notification, Is.EqualTo("producer 2")); Assert.That(consumer3.Notification, Is.EqualTo("producer 2")); }
public void SimpleTest() { ConcreteMediator mediator = new ConcreteMediator(); mediator.CreateColleagues(); mediator.ColleagueA.Action(); mediator.ColleagueB.Action(); }
private static void StructuralExample() { var mediator = new ConcreteMediator(); var c1 = mediator.CreateColleague <ConcreteColleague>(); var c2 = mediator.CreateColleague <SecondConreteColleage>(); c1.Send("hello from colleague 1"); c2.Send("hello from colleague 2"); }
/// <summary> /// 中介者模式 /// </summary> public static void MediatorPatternMethods() { WoMan woMan = new WoMan("小花"); Man man = new Man("小明"); IMediator mediator = new ConcreteMediator(woMan, man); woMan.TalkLove("我想找个男朋友", mediator); man.TalkLove("我想找个女朋友", mediator); }
public void Structural() { var mediator = new ConcreteMediator(); var c1 = mediator.CreateColleague <Colleague1>(); var c2 = mediator.CreateColleague <Colleague2>(); c1.Send("Hello, World! (from c1)"); c2.Send("Hello, World! (from c2)"); }
static void Main(string[] args) { var mediator = new ConcreteMediator(); var c1 = mediator.CreateColleague <Colleague1>(); var c2 = mediator.CreateColleague <Colleague2>(); c1.Send("Hello (from c1)"); c2.Send("Hello (from c2)"); }
public void JsonReaderTest() { Configurator configurator = new Configurator(); ConcreteMediator <string, string> m = new ConcreteMediator <string, string>(); JsonReaderProvider diskReaderProvider = new JsonReaderProvider(m); configurator.ConfigureSourcePath(diskReaderProvider, Path.Combine(Environment.CurrentDirectory, "..\\..\\..\\Source Files\\Document1.json")); diskReaderProvider.ProcessData(null); }
public UseCase() { ConcreteMediator mediator = new ConcreteMediator(); ConcreteColleagueOne colleague1 = new ConcreteColleagueOne(mediator); ConcreteColleagueTwo colleague2 = new ConcreteColleagueTwo(mediator); mediator.Colleague1 = colleague1; mediator.Colleague2 = colleague2; colleague2.Send("IMPORTANT MESSAGE"); }
/* * * A intenção do padrão Mediator é definir um objeto que encapsula como um conjunto de objetos interagem. Mediator promove o baixo acoplamento por manter objetos * sem se referir um ao outro de forma explícita, e que lhe permite variar sua iteração independentemente.e. * * Participantes: * Mediator - define uma interface para comunicação com objetos Colleague; * ConcreteMediator - implementa o comportamento cooperativo; * Colleague classes - cada classe Colleague conhece seu objeto Mediator de outra forma; cada Colleague se comunica com seu Mediator sempre que, de outra forma, * teria que se comunicar com outro colega. */ public void Mediator() { ConcreteMediator mediator = new ConcreteMediator(); Suporte suporte = new Suporte(mediator); Usuario usuario = new Usuario(mediator); mediator.Suporte = suporte; mediator.Usuario = usuario; Response.Write(usuario.Send("Meu Windows não está entrando!!!")); Response.Write(suporte.Send("<br>Formate a máquina...")); }
// public AppViewModel() : base(ConcreteMediator.getInstance()) { AuthClient.client = new ServiceReference1.AuthorizationClient(new System.ServiceModel.InstanceContext(this)); AuthClient.client.ServerStatus(); ConcreteMediator.getInstance().AppViewModel = this; ClientPlayer = new ObservableCollection <ClientPlayer>(); EnemyPlayers = new ObservableCollection <EnemyPlayer>(); FoodPoints = new ObservableCollection <FoodPoint>(); }
static void Main(string[] args) { Imediator mediator = new ConcreteMediator(); IUser user1 = new ConcreteUser(mediator); IUser user2 = new ConcreteUser(mediator); mediator.AddUser(user1); mediator.AddUser(user2); user1.SendMessage("This is user number 1!"); user2.SendMessage("This is user number 2!"); }
public MediatorTest() { _mediator = new ConcreteMediator(); // Set the meditator for communication between the two colleagues _colleague1 = new ConcreteColleague1(_mediator); _colleague2 = new ConcreteColleague2(_mediator); _mediator.Colleague1 = (ConcreteColleague1)_colleague1; _mediator.Colleague2 = (ConcreteColleague2)_colleague2; }
//Mediator public void Mediator() { AbstractMediator mediator = new ConcreteMediator(); Colleague suporte = new Suporte(mediator); Colleague usuario = new UsuarioCliente(mediator); mediator.Attach(suporte); mediator.Attach(usuario); usuario.Send("Pifou"); suporte.Send("Arruma"); }
public void TestMethod1() { var mediator = new ConcreteMediator(); var colleague1 = new ConcreteColleague(mediator); var colleague2 = new ConcreteColleague(mediator); mediator.AddColleague(colleague1); mediator.AddColleague(colleague2); colleague1.Send("form C1"); colleague2.Send("from C2"); }
void Start() { ConcreteMediator = new ConcreteMediator(component1, component2); // Debug.Log("Client triggets operation A."); component1.DoA(); Debug.Log("__"); // Debug.Log("Client triggers operation D."); component2.DoD(); }
public void XmlReaderProvider() { Configurator configurator = new Configurator(); ConcreteMediator <string, string> m = new ConcreteMediator <string, string>(); XmlReaderProvider diskReaderProvider = new XmlReaderProvider(m); configurator.ConfigureSourcePath(diskReaderProvider, Path.Combine(Environment.CurrentDirectory, "..\\..\\..\\Source Files\\Document1.xml")); diskReaderProvider.ProcessData(string.Empty); }
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(); }
static void Main(string[] args) { var mediator = new ConcreteMediator(); var user1 = new User1(mediator); var user2 = new User2(mediator); mediator.User1 = user1; mediator.User2 = user2; user1.SendMessage("Hello World!"); user2.SendMessage("Why hello there!"); }
public void Show() { var cm = new ConcreteMediator(); var c1 = new ConcreteColleagueA(cm); var c2 = new ConcreteColleagueB(cm); cm.concreteColleagueA = c1; cm.concreteColleagueB = c2; c1.Send("`send` of ConcreteColleagueA is being called!"); c2.Send("`send` of ConcreteColleagueB is being called!"); }
static void Main(string[] args) { Widget1 widget1 = new Widget1(); Widget2 widget2 = new Widget2(); ConcreteMediator mediator = new ConcreteMediator(widget1, widget2); Console.WriteLine("Client triggers operation A."); widget1.DoA(); Console.WriteLine("Client triggers operation D."); widget2.DoD(); }
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(); }
static void MediatorExample() { var mediator = new ConcreteMediator(); var colleague1 = new Colleague1(mediator); var colleague2 = new Colleague2(mediator); mediator.Colleague1 = colleague1; mediator.Colleague2 = colleague2; colleague1.Send($"Hello {nameof(Colleague2)}!"); colleague2.Send($"Hello {nameof(Colleague1)}!"); }
public void Test_Demo() { ConcreteComponentA componentA = new ConcreteComponentA(); ConcreteComponentB componentB = new ConcreteComponentB(); IMediator mediator = new ConcreteMediator(componentA, componentB); componentA.ExecutingA(); componentA.ExecutingB(); componentB.ExecutingA(); componentB.ExecutingB(); }
/// <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(); }
static void Main(string[] args) { IColleague<string> colleagueA = new ConcreteColleague<string>("Colleague A"); IColleague<string> colleagueB = new ConcreteColleague<string>("Colleague B"); IColleague<string> colleagueC = new ConcreteColleague<string>("Colleague C"); IMediator<string> mediator = new ConcreteMediator<string>(); mediator.Register(colleagueA); mediator.Register(colleagueB); mediator.Register(colleagueC); colleagueC.SendMessage(mediator, "message from " + colleagueC.GetName() + "!"); Console.ReadKey(); }
// void UnitTest () { // 產生仲介者 ConcreteMediator pMediator = new ConcreteMediator(); // 產生兩個Colleague ConcreateColleague1 pColleague1 = new ConcreateColleague1(pMediator); ConcreateColleague2 pColleague2 = new ConcreateColleague2(pMediator); // 設定給仲介者 pMediator.SetColleageu1( pColleague1 ); pMediator.SetColleageu2( pColleague2 ); // 執行 pColleague1.Action(); pColleague2.Action(); }
public static void Test() { // Create chatroom participants AbstractColleague colleague1 = new ConcreteColleague() { ID = "1" }; AbstractColleague colleague2 = new ConcreteColleague() { ID = "2" }; AbstractColleague colleague3 = new ConcreteColleague() { ID = "3" }; AbstractColleague colleague4 = new ConcreteColleague() { ID = "4" }; AbstractColleague colleague5 = new ConcreteColleague() { ID = "5" }; var mediator = new ConcreteMediator(); mediator.Register(colleague1); mediator.Register(colleague2); mediator.Register(colleague3); mediator.Register(colleague4); mediator.Register(colleague5); colleague1.Send("2", "from 1 to 2"); colleague3.Send("4", "from 3 to 4"); colleague5.Send("1", "from 5 to 1"); }
// 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(); }
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(); }