大话设计模式
字体: 16 + -

第204章

时间:1月11日地点:大b房间人物:大b,校

小a:“很多人都吃过三明治,都会知道三明治必不可少的是两块面包片,然后可以在夹层里加上蔬菜、沙拉、咸肉等等,外面可以涂上奶油之类的。”

大b:“假如现在你要为一个三明治小店构造一个程序,其中要设计各种三明治的对象。可能你已经创建了一个简单的sandwich对象,现在要产生带蔬菜的就是继承原有的sandwich添加一个蔬菜的成员变量,看起来很‘正点’的做法,以后我还要带咸肉的、带奶油的、带蔬菜的又分为带青菜的、带芹菜的、生菜的……还是一个一个继承是吧!假如我们还需要即带蔬菜又带其它肉类,设置我们还要求这些添加成分的任意组合,那你就慢慢继承吧!”

小a:“呵呵。”

大b:“读过几年书的会下面这个算术,我们有n种成分,在做三明治的时候任意搭配,那么有多少种方案呢?!算算吧!你会有惊人的发现。n种成分,什么都不要是cn0种方案吧!要1种是cn1吧……要n种是cnn吧!”

小a:“加起来不就是吗?”

大b:“牛顿莱布尼兹公式记得吧!总共2的n次方案。有可能前面10天写了k个类,老板让你再加一种成分你就得再干10天,下一次再加一种你可得干20天哦!同时你可以发现你的类库急剧地膨胀!老板可能会说你:xxx前k天你加了n个成分,怎么现在这么不上进呢?后k天只加了1个成分啊?!可能你会拿个比给老板算算,老板那么忙会睬你吗?有可能你的老板会说:不管怎么样我就要你加,k天你还给我加n个成分!”

小a:“呵呵,怎么办啊!跳槽啊!”

大b:“跳槽了也没人要你!人家一看就知道你没学设计模式。”