吃饭引起的思考
中午去三食堂吃饭,卖了一份西红柿炒蛋,以前吃过这菜味道挺不错。尝了一下,差点吐出来,厨师不知道放了多少盐,咸的不行,我大好的食欲一下子就没有了,幸好我不挑食,就将就着吃了。回来的途中,突然想起前几天看过的一本书《大话设计模式》中的一章《好菜每回味不同——建造者模式》,我对这建造者模式一直不太理解,仔细想想今天的吃饭,我恍然大悟;
按照依赖倒转原则:抽象不应该依赖细节,细节应该依赖于抽象,由于我们吃的菜都依赖于厨师,所以很被动,而麦当劳的东西都依赖于工作流程,所以我们吃的东西每次都是一样的, 依赖倒转原则里的所谓抽象和细节就相当于这里的工作流程和厨师啊。
DP中定义的建造者模式:将一个复杂对象的建构与它的表示分离,使得同样的构建过程可以创建不同的表示。
就像做菜一样,我国的厨师做菜时什么时候放什么调料放多放少都是有他决定的,而麦当劳则是由他们的工作流程决定的,这里的工作流程是一种抽象的流程,具体放什么调料、烤多长时间等细节依赖于这个抽象
建造者模式(Builder)结构图