博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
中介者模式c#(媒婆版)
阅读量:6092 次
发布时间:2019-06-20

本文共 1514 字,大约阅读时间需要 5 分钟。

using System;

using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 中介者模式
{
    public abstract class Person {
        public string Name { get; set; }
        public string Condition { get; set; }
        public abstract void getPartner(Person p);
    
    }
    public class Men : Person
    {
        public Mediator m
        {
            get;
            set;
        }
        public Men(string name, string condition, Mediator m)
        {
            this.Name = name;
            this.Condition = condition;
            this.m = m;
            m.Men = this;
        }
        public override void getPartner(Person p)
        {
            this.m.getPartner(this,p);
        
        }
    }
    public class Women : Person
    {
        public Mediator m
        {
            get; set;
        }
        public Women(string name,string condition ,Mediator m)
        {
            this.Name = name;
            this.Condition = condition;
            this.m = m;
            m.Women = this;
        }
        public override void getPartner(Person p)
        {
            this.m.getPartner(this, p);
        }
    }
    public class Mediator
    {
        public Women Women { get; set; }
        public Men Men { get; set; }
        public void getPartner(Person w,Person m)
        {
            if (w.GetType() == m.GetType())
            {
                Console.WriteLine("我不是同性恋!");
               
            }
            else if (w.Condition == m.Condition)
            {
                Console.WriteLine(w.Name+"和"+m.Name+"是绝配");
            }
            else
            {
                Console.WriteLine(w.Name + "和" + m.Name + "没有门当户对");
            }
        
        }
       
    }
    class Program
    {
        static void Main(string[] args)
        {
            Mediator m = new Mediator();
            Person zhangsan = new Men("张三", "5", m);
            Person lisi = new Men("李四","5",m);
            Person lili = new Women("莉莉","5",m);
            Person lihua = new Women("李华","6",m);
            zhangsan.getPartner(lisi);
            zhangsan.getPartner(lihua);
            lisi.getPartner(lili);
            Console.ReadKey();
        }
    }
}

转载于:https://www.cnblogs.com/kexb/p/4525152.html

你可能感兴趣的文章
[C# 网络编程系列]专题六:UDP编程
查看>>
AE中实现Control中的各种图形工具的方法
查看>>
使用cygwin在windows上模拟unix环境,解决不能显示中文的问题
查看>>
No module named urls最新解决方法
查看>>
linux 中 用户管理 (composer 时不能root 遇到)
查看>>
for循环json对象取值
查看>>
EF中Repository模式应用场景
查看>>
单位圆盘的全纯自同构群Aut B(0,1)
查看>>
实验二 Java面向对象程序设计
查看>>
Sicily 1504:Slim Span(最小生成树)
查看>>
(树)Subtrees -- hdu -- 5524
查看>>
------__________________________9余数定理-__________ 1163______________
查看>>
webapp返回上一页 处理
查看>>
新安装的WAMP中phpmyadmin的密码问题
查看>>
20172303 2017-2018-2 《程序设计与数据结构》第5周学习总结
查看>>
11.查询截取分析_慢查询日志
查看>>
(转)HTML的代码(从朋友那转的,看着觉得会有用就转了)
查看>>
eclipse中将一个项目作为library导入另一个项目中
查看>>
Go语言学习(五)----- 数组
查看>>
Android源码学习之观察者模式应用
查看>>