国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#設(shè)計模式之Mediator中介者模式解決程序員的七夕緣分問題示例

2020-01-24 00:28:23
字體:
供稿:網(wǎng)友

本文實例講述了C#設(shè)計模式之Mediator中介者模式解決程序員的七夕緣分問題。分享給大家供大家參考,具體如下:

一、理論定義

中介者模式  定義了一種一對多的操作,解脫了對象之間多對多的引用依賴,所有對象之間的通信,都封裝在 中介者里面。

二、應(yīng)用舉例

需求描述: 七夕來啦,誰說程序員就一定 是單身苦逼呢,程序員也有自己的幸福。

也在追尋自己的緣分,我們都是有理想,有文化,有獨立見解的群體,
我們?yōu)?信息社會所做的努力,能給我們七夕帶來好運。告別單身,開始行動啦!

1.三個程序員 找到了 緣分"YuanFen"大師,希望找到自己另一半,
2.六個美女: 劉詩詩,蔣琴琴,白富美,朱莉,舒淇,語嫣 也找到 緣分"YuanFen" 大師,
希望心中的 白馬王子能給自己一注目光。
3.緣分大師  接受了程序員 和 美女的請求。
4.開始緣分派對啦!

三、具體編碼

1.美女們(Grils)

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Com.Design.Gof.Mediator{  public class Girls  {    /// <summary>    /// 美女名字    /// </summary>    public string Name { get; set; }    /// <summary>    /// 找了一個叫“緣分” 的中介者 做媒婆    /// </summary>    public YuanFen YuanFen { get; set; }    /// <summary>    /// 向自己心目中的 白馬王子發(fā)信    /// </summary>    /// <param name="name_message">名字和信息</param>    public void SendMessage(Dictionary<string,string> name_message) {      YuanFen.SendToBoys(name_message);    }    /// <summary>    /// 收到某個白馬王子回信    /// </summary>    public void RecieveMessage(string msg)    {      Console.WriteLine(msg);    }  }}

2. 帥哥程序員

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Com.Design.Gof.Mediator{  /// <summary>  /// 帥哥 1  /// </summary>  public class Boys  {    /// <summary>    /// 帥哥名字    /// </summary>    public string Name { get; set; }    /// <summary>    /// 找了一個叫“緣分” 的中介者 做媒婆    /// </summary>    public YuanFen YuanFen { get; set; }    /// <summary>    ///向自己心目中的 白雪公主發(fā)信    /// </summary>    /// <param name="name_message">名字和信息</param>    public void SendMessage(Dictionary<string, string> name_message)    {      YuanFen.SendToGrils(name_message);    }    /// <summary>    /// 收到某個白雪公主回信    /// </summary>    public void RecieveMessage(string msg)    {      Console.WriteLine(msg);    }  }}

3.緣分

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Com.Design.Gof.Mediator{  public class YuanFen  {    public List<Girls> Girls { get; set; }    public List<Boys> Boys { get; set; }    /// <summary>    /// 男孩向女孩發(fā)信    /// </summary>    /// <param name="name_message"></param>    public void SendToGrils(Dictionary<string, string> name_message)    {      foreach (var k in name_message) {        foreach (var girl in Girls) {          if (k.Key == girl.Name) {            girl.RecieveMessage(k.Value);          }        }      }    }    /// <summary>    /// 女孩向男孩發(fā)信    /// </summary>    /// <param name="name_message"></param>    public void SendToBoys(Dictionary<string, string> name_message)    {      foreach (var k in name_message)      {        foreach (var boy in Boys)        {          if (k.Key == boy.Name)          {            boy.RecieveMessage(k.Value);          }        }      }    }  }}

4.主函數(shù)(派對,發(fā)情書)

using System;using System.Collections.Generic;using System.Linq;using System.Text;using Com.Design.Gof.Mediator;namespace Com.Design.Gof.Test{  class Program  {    static void Main(string[] args)    {      //緣分 這個 媒婆來了      YuanFen yuanFen = new YuanFen { Boys=new List<Boys>(), Girls=new List<Girls>()};      //男孩子們?nèi)杠S報名啊      Boys boy1 = new Boys { Name="程序員1", YuanFen=yuanFen};      Boys boy2 = new Boys { Name = "程序員2", YuanFen = yuanFen };      Boys boy3 = new Boys { Name = "程序員3", YuanFen = yuanFen };      //緣分接受了男孩子的夙愿      yuanFen.Boys.Add(boy1); yuanFen.Boys.Add(boy2); yuanFen.Boys.Add(boy3);      //女孩子也很積極      Girls girls1 = new Girls { Name="劉詩詩", YuanFen=yuanFen};      Girls girls2 = new Girls { Name = "白富美", YuanFen = yuanFen };      Girls girls3 = new Girls { Name = "蔣琴琴", YuanFen = yuanFen };      Girls girls4 = new Girls { Name = "舒淇", YuanFen = yuanFen };      Girls girls5 = new Girls { Name = "朱莉", YuanFen = yuanFen };      Girls girls6 = new Girls { Name = "語嫣", YuanFen = yuanFen };      //緣分接受了美女們的愛情 丘比特      yuanFen.Girls.Add(girls1); yuanFen.Girls.Add(girls2); yuanFen.Girls.Add(girls3);      yuanFen.Girls.Add(girls4); yuanFen.Girls.Add(girls5); yuanFen.Girls.Add(girls6);      //開始派對啦      //程序員1 對 劉詩詩,蔣琴琴 感興趣      Dictionary<string, string> name_message = new Dictionary<string, string>();      name_message.Add("劉詩詩", boy1.Name + " 對劉詩詩說: 詩詩詩詩 我愛你,就像老鼠愛大米");      name_message.Add("蔣琴琴", boy1.Name + " 對蔣琴琴說: 我希望每天睡前最后看到的人是你...... ");      boy1.SendMessage(name_message);      name_message.Clear();      Console.WriteLine();      //程序員2 對 劉詩詩,朱莉,舒淇 感興趣      name_message.Add("語嫣", boy2.Name + " 對語嫣說: 地球仍然轉(zhuǎn)動,世界依舊善變,而我永遠(yuǎn)愛你");      name_message.Add("朱莉", boy2.Name + " 對朱莉說: 每天都 ...很想

主站蜘蛛池模板:
拜城县|
九龙坡区|
鹤峰县|
彩票|
龙山县|
永康市|
临颍县|
哈密市|
金川县|
芮城县|
建平县|
庆阳市|
古浪县|
兰西县|
黑水县|
什邡市|
光山县|
九龙县|
肇源县|
福海县|
东莞市|
林芝县|
留坝县|
郎溪县|
隆昌县|
宁陕县|
金阳县|
年辖:市辖区|
进贤县|
灌南县|
台北市|
浙江省|
临高县|
海口市|
沙洋县|
公主岭市|
安新县|
瓮安县|
辛集市|
邹城市|
南投市|