xhliu 的个人资料青蛙王子的工作空间照片日志列表 工具 帮助

日志


    12月21日

    设计模式,7种构造型模式举例

    在遥远的过去,有这么一个与世无争的小村子,村里有一个村长(A)和很多的村民(Bs). 围绕着这个小村子,发生了无数的可歌可泣的故事.当然,和其他的故事一样,村子之外有一个可恶的皇帝(E).

     

    1)       皇帝要让所有的村民交租子,他要经历下面的流程:

    a)         他首先跑到村民b1那里收租子,村民b1的家里只有门,他就从门进入。

    b)         他又跑到村民b2那里收租子,村民b2家里只有窗,没有门,他就从窗进入。

    c)         村民b3家里门也没有,窗也没有,皇帝只好采用直升飞机空降的方式进入。

    d)         。。。。

    终于有一天,皇帝再也受不了了,他把村长叫过来,对他说:以后我收租子,只找你一个,从门进入,我收谁的你就跑腿。从此之后,可怜的村长就成了跑腿的人。皇帝很高兴,他把自己的创意称之为FACADE

    2)       时光如梭。老村长不停的跑腿,终于累死了。于是村民b3当选为村长。这年,皇帝过来收租子,发现怎么都进步去村长的家里:村长家里没有门!皇帝想,“妈妈的,总不成每次都让我用直升飞机空降来收租子吧?”邪恶的皇帝又想了一个主意,他对村民b4说:“你在村长家外面造一个房子,把他的家全部包围起来,盖一个又宽又大的门,以后我找村长就找你了”皇帝很高兴,他又不用跑腿了,他把自己的想法称之为Adapter,而村长就成了Adaptee.

    3)       时间就像小风一样嗖嗖的过着。村长不停的换,而邪恶的皇帝却始终活着,但是他已经厌倦了每次为新的村长找一个Adapter。他又开始思考了。他发现村里面的村们bx和自己一样的长寿。于是他改变了自己的策略,他让bx做这样的事情:准备好村长,准备好门。每次收租子的时候,他都只需要去bx那里问一下:“现在的村长是谁?”。然后就可以了。 皇帝又胜利了,他把自己的方法称之为Bridge

    4)       有一天,邻国的女皇想到这个小村子里面参观。皇帝一看,“坏了,这些村民个个连衣服都买不起,光着屁股,我大国的威严何在阿?”于是,皇帝把自己的秘书d叫过来,对他说:“每个村民出来的时候,你给他们穿一个漂亮的衣服,别让他们给我丢脸!”最后,邻国的女皇看到的全是穿着漂亮衣服的村民。皇帝很高兴,于是他把自己的方法叫做Decorator

    5)       村子越来越大,村民越来越多。终于有一天,村子分裂了,变成了两个村子。皇帝一看,每次收租子我都找两个村长,太麻烦了!于是邪恶的皇帝又有了点子:在村子之上设立乡政府,在乡政府之上设立县政府。。。 于是不管将来有多少的村民,自己都很方便管理,他把自己的方法叫做 Composite

    6)       终于有一天,皇帝有了自己的王国,村门很多很多,管理起来太过于复杂。皇帝每天要处理每个村民的事情,忙的头昏脑涨的。于是,邪恶的皇帝又有点子了,他成立了一个特殊部门“东长”,然后又制定了惩罚规定,叫做“拘留,坐牢,流放,砍头”。每当有一个村民发生问题的时候,皇帝就问“东厂”:他的问题怎么办? 东厂说:坐牢。又有一个村民发生了问题,皇帝问东厂:怎么半?东厂说:他的问题以前的不行,我又发明了一种新的处理方法,叫做“凌迟”。皇帝很高兴,自己终于又可以轻轻松松的管理国家了。他把自己的方法称之为Flyweight.

    7)       皇帝继续做着自己的美梦。他越来越依赖于自己的宠臣太监t了,不管有什么问题,他都问t,然后t去处理。他问t:我们有多少国民阿?t说,1000万。他问t说,我们有多少收入阿,t1000万。其实t已经大权独揽,自己腰包里面赚了无数的10000万了。T自己偷偷的大笑:哈哈,我就是传说中的Proxy!!

    评论 (1)

    请稍候...
    很抱歉,您输入的评论太长。请缩短您的评论。
    您没有输入任何内容,请重试。
    很抱歉,我们当前无法添加您的评论。请稍后重试。
    若要添加评论,需要您的家长授予您相应权限。请求权限
    您的家长禁用了评论功能。
    很抱歉,我们当前无法删除您的评论。请稍后重试。
    您已超过了一天之内允许提供的评论数上限。请在 24 小时后重试。
    因为我们的系统表明您可能在向其他用户提供垃圾评论,您的帐户已禁用了评论功能。如果您认为我们错误地禁用了您的帐户,请联系 Windows Live 支持部门
    完成下面的安全检查,您提供评论的过程才能完成。
    您在安全检查中键入的字符必须与图片或音频中的字符一致。

    若要添加评论,请使用您的 Windows Live ID 登录(如果您使用过 Hotmail、Messenger 或 Xbox LIVE,您就拥有 Windows Live ID)。登录


    还没有 Windows Live ID 吗?请注册

    Jizhou发表:
    It is funny
    2 月 9 日

    引用通告

    此日志的引用通告 URL 是:
    http://flyingfrog1980.spaces.live.com/blog/cns!515A924507F2FEA5!139.trak
    引用此项的网络日志