تحلیل و بهینه سازی کد چت روم Chatroom

بپرسید
  • فاطمه30 فاطمه30
  • 76 ماه قبل
  • 76 ماه قبل
  • 264 نمایش

0

{{ digitTrunc(content.likes) }}

سلام کسی مس تونه بگه این کد چی کار میکنه؟

ممنون میشم سریع تر جواب بدین

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);
    }
}

#چت_روم #الگوی_مدیاتور #سی_شارپ

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

پاسخ ها به این سوال

پاسخ ها به این سوال

{{ digitTrunc(post.likes) }}

این پست در تاریخ {{ dateString(new Date(post.deleteDate)) }} توسط {{ post.deletedByUser }} حذف شده است.

دلیل حذف: {{ post.deleteReason ?? 'نامشخص' }}

{{ err }}
{{ post.userAchivements.rhodiumAchievements }}
{{ post.userAchivements.platinumAchievements }}
{{ post.userAchivements.goldAchievements }}
{{ post.userAchivements.silverAchievements }}
{{ post.userAchivements.bronzeAchievements }}
{{ timeSince(new Date(post.date)) }} قبل

برای ثبت پاسخ خود در وب سایت وارد حساب کاربری خود شوید
قابلیت ارسال مطلب توسط مدیریت سایت غیر فعال شده است