C\#디자인 모델 의 Mediator 중개자 모델 해결 프로그래머 의 칠석 인연 문제 예시

본 고 는 C\#디자인 모델 의 Mediator 중개자 모델 로 프로그래머 의 칠석 인연 문 제 를 해결 하 는 것 을 실례 로 들 었 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
이론 적 정의
중개자 모드  한 쌍 의 다 중 조작 을 정의 하고 대상 간 의 다 중 인용 의존 에서 벗 어 나 모든 대상 간 의 통신 은 중개자 안에 포 함 됩 니 다.
2.예 를 들 어
수요 설명:칠석 이 왔 습 니 다.누가 프로그래머 가 싱글 이 라 고 하 겠 습 니까?프로그래머 도 자신의 행복 이 있 습 니 다.
그리고 자신의 인연 을 찾 고 있 습 니 다.우 리 는 모두 이상 적 이 고 문화 적 이 며 독립 적 인 견 해 를 가 진 단체 입 니 다.
우리 가 정보 사 회 를 위 한 노력 은 칠석 에 행운 을 가 져 다 줄 수 있다.싱글 과 작별 하고 행동 을 시작 합 니 다!
1.세 명의 프로그래머 가 자신의 짝 을 찾 고 싶 어 하 는 인연'유 안 펜'스님 을 찾 았 다.
2.여섯 명의 미녀:유시 시,장 금 금 금,백부 미,줄 리,서기,어 언 도 인연'유안 펜'대 사 를 찾 았 다.
마음속 의 백마 탄 왕자 가 자신 에 게 눈길 을 주 었 으 면 좋 겠 습 니 다.
3.인연 의 대가  프로그래머 와 미녀 의 부탁 을 받 아 들 였 다.
4.인연 파 티 를 시작한다!
3.구체 적 인 코딩
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>
    ///               
    /// </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>
    ///              
    /// </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>
    ///        
    /// </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>
    ///        
    /// </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.주 함수(파티,발정 서)

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>()};
      //         
      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 + "     :       ,      ,      ");
      name_message.Add("  ", boy2.Name + "     :     ...  ... ");
      name_message.Add("  ", boy2.Name + "     :        ,          ");
      boy2.SendMessage(name_message);
      name_message.Clear();
      Console.WriteLine();
      //             
      name_message.Add("   1", girls6.Name + "     1 :                !...  ");
      name_message.Add("   2", girls6.Name + "     2 :         .... ");
      name_message.Add("   3", girls6.Name + "     3 :          ,       ");
      girls6.SendMessage(name_message);
      name_message.Clear();
      Console.WriteLine();
      //       ,   ,     1   
      name_message.Add("   1", girls3.Name + "     1 :         ,          ");
      girls3.SendMessage(name_message);
      Console.ReadKey();
    }
  }
}

5.실행 결과

6.총화
칠석 이 되 어 자신의 인연 을 되 찾 았 다.
첨부:전체 인 스 턴 스 코드 는 여 기 를 클릭 하 십시오본 사이트 다운로드
더 많은 C\#관련 내용 은 본 사이트 의 주 제 를 볼 수 있다.,,,,,,
본 고 에서 말 한 것 이 여러분 의 C\#프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기