Builder 模式要解决的也正是这样的问题:当我们要创建的对象很复杂的时候(通常是
由很多其他的对象组合而成),我们要要复杂对象的创建过程和这个对象的表示(展示)分
离开来,这样做的好处就是通过一步步的进行复杂对象的构建,由于在每一步的构造过程中
可以引入参数,使得经过相同的步骤创建最后得到的对象的展示不一样。
下面是我写的一个模拟汽车制造的例子,不知道是否明确的把BUILDER模式的思想表达和准确应用了。按照我的理解,product和productPart为产品和产品部件,产品其实是由builder负责集成制造的,而产品的部件由各个部件制造商进行你给制造,这也就使得各个部件厂商可以根据需要进行加工和细化制作。而director是一个第三方的根据客户需求提供要求,定制产品的监制集成商,它负责根据客户需求设计组装方案、下订单给builder,并且雇佣builder进行生产组装,最后builder负责提供完整的产品出来。具体到部件商,就是负责部件的生产,供货给builder了。
具体的代码实现部分,网络上也看到不少。但是大家对于director的出现与否有异议。实现也各不相同,有的就是借鉴了BUILDER模式的思想,但是实现了一个不完整的BUILDER应用。我觉得似乎对这个模式的理解还有些偏差。自己准备琢磨下,编写一个汽车制造的BUILDER应用案例出来。
待续。。。
下面是我写的一个模拟汽车制造的例子,不知道是否明确的把BUILDER模式的思想表达和准确应用了。