1.产品的部件由专门的生产厂商来生产,这样分工更加明确,更加精细,生产专业化,可以降低成本;
2.整个产品的生产更加简单,也可增加零件的复用.
3.转换生产比较容易,比如产品的材质发生变化,只需要找相应提供该材质的厂商即可.
这其实就是典型的生成器模式.生成器模式有4个角色:
A.抽象生成器:提供生成器的抽象表达,具体的生成由子类完成.抽象生成器可保持一个产品的引用;
B.具体生成器:每个具体的生成器提供一个对产品各个部分的构造方法.同时提供一个对最终产品进行访问的方法.
C.产品:需要构造的产品,该产品可以组件化来生产;
D.构造指导者:其实就是产品装配车间,构造过程和顺序都是固定的.
生成器模式的好处:
1.同其它创建型模式一样实现了产品的使用和创建的责任分离;
2.延迟了产品的构建过程;
3.可以通过指定不同的生成器来生成不同形式的产品;
4.将产品的构造组件化,降低了产品的生产和管理的难度.
抽象模式也可以完成上述功能,但抽象模式并不为专门是来构造复杂对象的.生成器模式更加关注一种产品本身的构造过程.
================================================================================
生成器模式一个比较典型而非常有用的应用就是构造sql语句,特别做一些动态查询业务的时候非常有用。比如:sql语句的构造可分为select部分构造,where条件构造,order by,group by 构造等部分。最后简单连接起来就形成完整的sql语句.