6.遛弯儿撞上个创世神-- 原型模式

    这次讲述一个离奇的故事。

       好事多磨。“山蛋蛋开花红艳艳”公司的发展也不是一帆风顺的。

       在那个炎热的夏天,农民乙接待了一个来自省城的大客户。

       该客户叫骉财,生的是膀大腰圆,气定神闲。因其名字难认,道中人又给他起了别名,唤作“神行太保”。

       在那个令人难忘的洽谈会上:

       “一百万罐玉米酱,十天完成,能否?”,骉财问。

       众企业家要么愁眉莫展,要么唉声叹气,要么低头不语。

       农民乙粗略的算了一下,如果这单成功,至少能为“山蛋蛋开花红艳艳”公司谋取到冲出县城,走向省城乃至全国的资本和机会,拼了!

       想到这里,农民乙拍案大呼:“能!”。

       最终,农民乙以他憨厚朴实敢拼敢闯的心态和“山蛋蛋”公司不可小视雄厚俊猛的实力获得了骉财的信任以及专家团的信任,该单中标,农民乙签下了生死状。

       今天说说原型模式。

---------------------------------------------------------------------------------------------------------------------------

       先送上图例。     

       为了完成合同上的任务,农民乙可是煞费苦心。

       他一方面让苦娃多招些劳力,一方面鼓励干活的工人加班加点。另外,他还制定了详细的生产计划。

       可这一天十万罐的生产指标实在不是个小数目,工人们都熬红了眼,农民乙看在眼里,痛在心里。

       “屋漏偏遇雷暴雨”,数个日夜以来的生产,工人们的抱怨不说,更可气的是,酱厂的大批机器出现了故障。

       这下可郁闷了,如果规定时间拿不出酱来,按照合同,骉财要勒索赔款。

       如此一来,工人们的薪水就没有了保障,“山蛋蛋”公司就要面临经济危机金融风暴。

       农民乙烦闷至极,那天晚上,他早早出了酱厂,到小河边散步,脑子里迅速思索着解决问题的办法。

       良久,农民乙懊恼的坐下来,思绪紊乱。

       他想,难道我是江郎才尽了吗?难道真的回天无术了吗?我怎么给四邻八舍的乡亲们交差呢?我怎么对的起日夜为我辛苦劳作的工人呢?

       人呐,往往是在走头五路时,命运会出现转机。那天就是。

       须臾,河面上霞光万丈。出来位光纤靓丽的人儿。

       农民乙定睛一看,好炫,此人气宇非凡,不过装束好像远古之人。

       没等农民乙开口,此人轻启朱唇,说道:“我是上古神仙女娲,知你有难,特来助你一臂之力。你我有缘,不必太客气。当初我造人时,也遇到和你一样的难题,我计划七天造万物,可到了最后一天,我发现已经快来不及造人了,于是,我发明了一件法宝,你且看。”

       说着,女娲从她包里拿出一样宝物,绿油油,发出莹莹的光。

       农民乙睁大了眼睛,原来是个藤条,他抓耳挠腮,这个怎么用呢?女娲说,“用此物点你想要的一样物,而后甩,无数个那样的东西即出”。

       “此物你只能在危难时刻使用,切忌切忌!……”

       说完,又是霞光万丈,藤条落地,女娲消失的无影无踪。

       农民乙给闪电描述这个故事的时候,闪电愕然……

class Jar
{
public Jar()
{ }
public string show()
{
return "变出来一个罐子!";
}
}
class Lid
{
public Lid()
{ }
public string show()
{
return "变出来一个盖子!";
}
}
class Catsup
{
public Catsup()
{ }
public string show()
{
return "变出来一些酱汁!";
}
}
//女娲说我有法宝
abstract class Talisman
{
private Jar jar;
private Lid lid;
private Catsup catsup;

public Talisman(Jar jar, Lid lid, Catsup catsup)
{
this.jar = jar;
this.lid = lid;
this.catsup = catsup;
}

public Jar Jar
{
get { return jar; }
}

public Lid Lid
{
get { return lid; }
}

public Catsup Catup
{
get { return catsup; }
}

public abstract Talisman Clone();
}
//这个法宝具体是什么呢?是藤条
class Cane : Talisman
{
public Cane(Jar jar, Lid lid, Catsup catsup)
: base(jar, lid, catsup)
{
}
//甩出来
public override Talisman Clone()
{
return (Talisman)this.MemberwiseClone();
}
}

static void Main(string[] args)
{
Jar j = new Jar();
Lid l = new Lid();
Catsup c = new Catsup();
Cane a = new Cane(j,l,c);
Cane b1 = (Cane)a.Clone();
Cane c1 = (Cane)a.Clone();
Cane b2 = (Cane)a.Clone();
Cane c2 = (Cane)a.Clone();
Cane d1 = (Cane)a.Clone();
Console.WriteLine("女娲的法宝真厉害哇: {0}", a.Jar.show());
Console.WriteLine("女娲的法宝真厉害哇: {0}", b1.Jar.show());
Console.WriteLine("女娲的法宝真厉害哇: {0}", c1.Jar.show());
Console.WriteLine("女娲的法宝真厉害哇: {0}", b2.Lid.show());
Console.WriteLine("女娲的法宝真厉害哇: {0}", c2.Lid.show());
Console.WriteLine("女娲的法宝真厉害哇: {0}", b2.Lid.show());
Console.WriteLine("女娲的法宝真厉害哇: {0}", d1.Catup.show());
Console.Read();
}

有道是车到山前必有路,好人呢总有好报,农民乙凭借着这件法宝,顺利度过了难关,为“山蛋蛋开花红艳艳”公司迎来了美好的如日中天的发展前景。

骉财挤眉弄眼地对农民乙说,你丫真有能耐!



posted @ 2011-12-13 18:13  LevinLee  阅读(146)  评论(0编辑  收藏  举报