登陆注册
8183300000075

第75章 5 男人和女人通过媒人约会

小A:“师兄,如果能举个例子的话,那就更好了。”

大B:“好。没问题的。那就举个通俗的模式吧!就拿一个男人和女人通过媒人约会的例子来实现这种设计模式吧。”

1、明确,男人和女人如果约会,假设男方提出约会(女方提出过程类似)。如果没有媒人,该过程如下:

A、男方如果想和女方约会

B、首先请示自己的父母(假设是封建家庭哦……),

C、然后通知女方

D、女方需要请示女方父母,是否同意约会。

弊端:需要男方交换的对象太多,且关系复杂,当随着男女之间的交往的复杂,会涉及到更多复杂的交换,双方父母的交换也很更复杂,使得四个对象(男、女、男方家长、女方家长)关系复杂,难以控制。

模式改进:采取媒人做‘中介者’-模式,将变得简单,其中无论那一个人有什么要求,请求,只需要告诉‘媒人’,至于该请求需要告诉谁,和谁交换,只有媒人知道。

//模拟代码类如下:

package meditator;

/ */

public class Man{

private Matchmaker mat;//媒人

public Man(Matchmaker mat){

this。mat=mat;

mat。registeMan(this);//把自己在媒人那里注册(声明)

}

public static void main(String[]args){

}

/ *考虑是否同意

*@return

*/

public boolean thinking(String says){

System。out。println(“男人考虑:我该不该同意呢……”);

if(says。length()>;5){

System。out。println(“我同意了”);

return true;

}

else{

System。out。println(“我不同意。”);

return false;

}

}

/ *提出约会

*男人提出约会,只需要告诉媒人,由媒人负责跟其他人交互。

*@param says

*/

public void tryst(String says){

System。out。println(男人提出约会请求,说: says);

mat。doManTryst(says);

}

}

package meditator;

/ *《p》Title:男方家长类《/p》

*《p》Deion:《/p》

*@version 1.0

*/

public class ManParent{

private Matchmaker mat;//媒人类

public ManParent(Matchmaker mat){

this。mat=mat;

mat。registeManParent(this);//把自己在媒人那里注册(声明)

}

}

/ *考虑是否同意

*@return

*/

public boolean thinking(String says){

System。out。println(“男方父母考虑:我们做父母的该不该同意呢……”);

if(says。length()>;5){

System。out。println(“我们做父母的同意了”);

return true;

}

else{

System。out。println(“我们做父母的不同意。”);

return false;

}

}

}

/////////////////////////////////////////////////////////////

package meditator;

/ *《p》Title:女人类《/p》

*《p》Deion:《/p》

*/

public class Woman{

private Matchmaker mat;//媒人

public Woman(Matchmaker mat){

this。mat=mat;

mat。registeWoman(this);//把自己在媒人那里注册(声明)

}

/ *考虑是否同意

*@return

*/

public boolean thinking(String says){

System。out。println(“女人考虑:我该不该同意呢……”);

if(says。length()>;5){

System。out。println(“我同意了”);

return true;

}

else{

System。out。println(“我不同意。”);

return false;

}

}

/ *提出约会

*女人提出约会,只需要告诉媒人,由媒人负责跟其他人交互。

*@param says

*/

public void tryst(String says){

System。out。println(女人提出约会请求,说: says);

mat。doWomanTryst(says);

}

}

////////////////////////////////////////////////////////

package meditator;

/ *《p》Title:女方家长类《/p》

*《p》Deion:《/p》

*/

public class WomanParent{

private Matchmaker mat;//媒人类

public WomanParent(Matchmaker mat){

this。mat=mat;

mat。registerWomanParent(this);//把自己在媒人那里注册(声明)

}

/ *考虑是否同意

*@return

*/

public boolean thinking(String says){

System。out。println(“女方父母考虑:我们做父母的该不该同意呢……”);

if(says。length()>;5){

System。out。println(“我们做父母的同意了”);

return true;

}

else{

System。out。println(“我们做父母的不同意。”);

return false;

}

}

}

///////////////////////////////////////////////////////////////

package meditator;

/ *《p》Title:媒人类――中介者《/p》

*《p》Deion:《/p》

*@version 1.0

*/

public class Matchmaker{

private Man man;//男人

private Woman woman;//女人

private ManParent manp;//男方父母

private WomanParent womanp;//女方父母

Matchmaker(){

}

public static void main(String[]args){

Matchmaker matchmaker1=new Matchmaker();

}

/ *媒人处理男人提出的约会,

*男人提出约会,则只需要把该问题告诉媒人,

*由媒人负责去跟其女方,女方父母,男方家长交互

*@param says

*/

public void doManTryst(String says){

System。out。println(“媒人开始处理约会问题开始”);

womanp。thinking(says);

System。out。println(“媒人处理约会问题结束,根据同意的结果做其他处理”);

}

/ *媒人处理女人提出的约会,

*由媒人负责去跟男方,女方父母,男方家长交互

*@param says

*/

public void doWomanTryst(String says){

System。out。println(“媒人开始处理约会问题开始”);

man。thinking(says);

manp。thinking(says);

womanp。thinking(says);

System。out。println(“媒人处理约会问题结束,根据同意的结果做其他处理”);

}

/ *处理彩礼等其他问题……

*@param man

*/

public void doOther(String says){

System。out。println(“处理其他问题”);

man。thinking(says);

woman。thinking(says);

manp。thinking(says);

womanp。thinking(says);

}

//以下四个注册方法,可以理解为,男方和女方之间的通讯必须通过媒人

/ *注册男人

*@param man

*/

public void registeMan(Man man){

this。man=man;

}

/ *注册女人

*@param woman

*/

public void registeWoman(Woman woman){

this。woman=woman;

}

/ *注册男方家长

*@param manp

*/

public void registeManParent(ManParent manp){

this。manp=manp;

}

/ *注册女方家长

*@param womanp

*/

public void registerWomanParent(WomanParent womanp){

this。womanp=womanp;

}

}

package meditator;

/ *《p》Title:测试类――可以运行该类《/p》

*《p》Deion:《/p》

*《p》Copyright:Copyright(c)2004《/p》

*@version 1.0

*/

public class MatchmakerDemo{

public MatchmakerDemo(){

}

public static void main(String[]args){

MatchmakerDemo matchmakerDemo1=new MatchmakerDemo();

Matchmaker mat=new Matchmaker();//媒人出现

Man man=new Man(mat);//男人,以媒人为建立构造参数

Woman woman=new Woman(mat);

ManParent manp=new ManParent(mat);

WomanParent womanp=new WomanParent(mat);

////////////////

System。out。println(“///////////////////////////////////////////////////”);

man。tryst(“我想和你约会,可以吗?”);

////////////////

System。out。println(“///////////////////////////////////////////////////”);

woman。tryst(“想和你约会”);

}

}

同类推荐
  • 云计算和现代远程教育

    云计算和现代远程教育

    本书介绍了云计算知识、云计算的特性、云计算技术、云计算中的访问云、云计算中的云存储、云计算在远程教育中的应用等内容。
  • 科学伴你行-神奇的通信技术

    科学伴你行-神奇的通信技术

    在日常生活中,有时人们要借助于小旗子来进行通信联络,比如,开运动会时,发令员常常要用小旗子与计时员联系;当你乘坐火车进入车站时,都会看到车站工作人员拿着红色和绿色的小旗子在站台上进行指挥;在战争中,打出白色旗子表示投降,插上红色旗子表明胜利;航行在茫茫大海上的船只,双方船员会凭不同旗帜组成的标志,来了解对方的意思。以上种种用小旗子来“说话”的通信方式就叫做旗语。
  • 领导干部信息化基础

    领导干部信息化基础

    本书共分6章,分别介绍了计算机网络综述;信息化的三个主要领域,即电子政务(政府信息化)、企业信息化和电子商务;PowerPoint2000中文演示文稿等内容。
  • 数字博物馆研究与实践:2009

    数字博物馆研究与实践:2009

    本书汇集了“2009年北京数字博物馆研讨会”与会代表提交的60余篇论文和演讲报告、应用案例,分为数字博物馆(科技馆)发展研究探讨、数字博物馆(科技馆)多样性发展模式、数字技术在博物馆(科技馆)展陈中的应用、数字博物馆(科技馆)建设实践、数字博物馆(科技馆)实现技术和数字博物馆调研报告等六个部分。本书内容囊括了对数字博物馆(科技馆)建设宏观层面的全局思考以及微观层面的具体实践。在宏观层面,介绍了数字博物馆(科技馆)在国内外的发展现状与趋势,通过剖析典型案例,探讨数字博物馆(科技馆)建设的意义、目标、作用、建设原则、要素、特征及目前建设工作中存在的现实问题与对策。
  • 爱上我的“手机女友”

    爱上我的“手机女友”

    本书共有五个部分:第一章:千娇百媚的我—手机门类大搜索第二章:了解我的心—手机“芯”理学第三章:不一样的我不一样的美—手机的万种风情第四章:命中注定我爱你—神秘手机星座解读第五章:有求必应贴心女友—手机的绝世武功通过这本书,想要购入手机的你会知道哪款手机女友更适合你,已有心仪手机的你可以让手机女友懂得更多变得更聪明。希望这本书能够帮助你在手机选购上和手机使用上更舒心、安心、贴心。
热门推荐
  • 返天武帝

    返天武帝

    帝国第一战神唐风尘,转生在一个被人陷害的白发少年身上,修习第一法决,开启了一场返老还童的逆天之旅。天若顺我,我返回天;天若逆我,我必反天!
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 末视幻觉

    末视幻觉

    父母早年失踪,只有一个几乎不存在的复姓。而一一个科技的大突破,一个虚拟网游的锻炼,以及后来的世界变异,会出现什么样的天才?他,踏上了寻找父母、寻找复姓真正意义,甚至决定人类存亡的道路,但,这条路能走多远?
  • 半狐也成仙

    半狐也成仙

    人,她不是!妖,她也不是!这身份便是天地不容吗?既然天地不容,为何,不让决意死亡的她死去?既然天道不容,却又为何,让她一次次险象环生?既然如此,那么即使身为半妖,她也要翻手为云,覆手为雨,要那天,遮不住她眼,要这地,再埋不了她心,要这众生,都明白她意,要那诸天神佛,都以她为主。
  • 玩家来了

    玩家来了

    当一个超等文明仅存的火种,奴役了地球上的一个废柴,并要求他帮助自己掠夺宇宙间的能源时,奇妙的事情发生了……——站立在真正的外星球上,一个大忽悠对他身边的一群人类说——这,只是一个游戏世界~——这一天,整个地球沸腾了~因为网游的新时代来了!人类将真正进入游戏世界里,体验刀刀烈火刀刀爆的快感!……这一天,整个外星文明懵逼了~因为,一群拥有着不死之身、猥琐、阴险、邪恶、残暴的自称‘玩家’的生物踏上了他们的国土,抢夺他们的资源,残杀他们的同胞,还要。。。。——这是一群逗比人类玩家征服宇宙的故事……你们好,我是已知宇宙中,最神的逗比…… 我来了,我带着一群玩家来了…… 宇宙万族啊,给我躺好!
  • 灵修高手闯都市

    灵修高手闯都市

    一个懵懂的少年,一张莫名的羊皮卷;一个落魄的家族,一颗来历神秘的龙珠……谜团的背后究竟是谜团?还是一切都是无稽之谈?看林天如何崛起,强势归来,力挽狂澜!
  • 最后的雪

    最后的雪

    当恐惧降临平凡的你,当遭到世界的舍弃,是拉下世界做豪华的殉葬品,还是悄无声息地离去。
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 重生之逐鹿天下

    重生之逐鹿天下

    范里说:“即使异界之路凸凹不平,老子也要步步生莲..”范里说:“建立一只吸血鬼军队,吞噬异界,黑暗,光明,老子自由穿梭”范里说:“学习魔法,很丢人吗?信不信,我勾勾手指就能将你打进地狱,十八之巨”手下四十大强盗齐齐举起右手,竖起中指,一脸不屑“切~~~”通俗简介:一个游戏里的魔法师重生在古武大陆,一步一步,逐鹿天下
  • 蜜恋1314:傲娇总裁说爱你

    蜜恋1314:傲娇总裁说爱你

    他等待了她6年,只为博得她的一抹微笑。他寻找了她6年,却在一个普通的再不能普通的超市相见。她说,他是她心中的太阳。他说,她是他永远的光芒。她说,她这一辈子只愿意嫁给他。他说,他这一辈子除了她谁都不嫁。[欢迎大家来观看嗷~]