سلام کسی مس تونه بگه این کد چی کار میکنه؟
ممنون میشم سریع تر جواب بدین
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; public class Client { public static void Main() { ApplicationMediator mediator = new ApplicationMediator(); ConcreteColleague desktop = new ConcreteColleague(mediator); MobileColleague mobile = new MobileColleague(mediator); mediator.addColleague(desktop,"groupA"); mediator.addColleague(mobile, "groupB"); desktop.send("Hello World", "groupA"); mobile.send("Hello", "groupB"); Console.ReadKey(); } } public interface Mediator { void send(String message, Colleague colleague,String groupName); } public abstract class Colleague { private Mediator mediator; public Colleague(Mediator m) { mediator = m; } //send a message via the mediator public void send(String message,string groupName) { mediator.send(message, this, groupName); } //get access to the mediator public Mediator getMediator() { return mediator; } public abstract void receive(String message); } public class ApplicationMediator : Mediator { private List<Colleague> colleagues; private Dictionary<string, List<Colleague>> dictionary; public ApplicationMediator() { // colleagues = new List<Colleague>(); dictionary = new Dictionary<string, List<Colleague>>(); } public void addColleague(Colleague colleague,string groupName) { //colleagues.Add(colleague); if (!dictionary.ContainsKey(groupName)) { dictionary.Add(groupName, new List<Colleague>()); } dictionary[groupName].Add(colleague); } public void send(String message, Colleague originator,String groupName) { //let all other screens know that this screen has changed foreach (var colleague in dictionary[groupName]) { //don't tell ourselves if (colleague != originator) colleague.receive(message); } } } public class ConcreteColleague : Colleague { public ConcreteColleague(Mediator m) : base(m) { } public override void receive(String message) { Console.WriteLine("Colleague Received: " + message); } } public class MobileColleague : Colleague { public MobileColleague(Mediator m) : base(m) { } public override void receive(String message) { Console.WriteLine("Mobile Received: " + message); } }
#چت_روم #الگوی_مدیاتور #سی_شارپ
این پست در تاریخ {{ dateString(new Date(post.deleteDate)) }} توسط {{ post.deletedByUser }} حذف شده است.
دلیل حذف: {{ post.deleteReason ?? 'نامشخص' }}
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود