设计模式,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说,我们有多少收入阿,t说1000万。其实t已经大权独揽,自己腰包里面赚了无数的10000万了。T自己偷偷的大笑:哈哈,我就是传说中的Proxy阿!!