设计模式之-生成器模式

在产品结构比较复杂,构造过程比较繁琐,一次性构造比较难的时候,我们可以采取分而治之的原则,将产品组件化,每个组件由专门的厂商来生产,最后的产品指派给制定的车间进行最后装配.这种方式其实是现代制造业的一种典型的模式.比如汽车,飞机的制造等.这样做的好处是:

    1.产品的部件由专门的生产厂商来生产,这样分工更加明确,更加精细,生产专业化,可以降低成本;

    2.整个产品的生产更加简单,也可增加零件的复用.

    3.转换生产比较容易,比如产品的材质发生变化,只需要找相应提供该材质的厂商即可.

这其实就是典型的生成器模式.生成器模式有4个角色:

A.抽象生成器:提供生成器的抽象表达,具体的生成由子类完成.抽象生成器可保持一个产品的引用;

B.具体生成器:每个具体的生成器提供一个对产品各个部分的构造方法.同时提供一个对最终产品进行访问的方法.

C.产品:需要构造的产品,该产品可以组件化来生产;

D.构造指导者:其实就是产品装配车间,构造过程和顺序都是固定的.

生成器模式的好处:

1.同其它创建型模式一样实现了产品的使用和创建的责任分离;

2.延迟了产品的构建过程;

3.可以通过指定不同的生成器来生成不同形式的产品;

4.将产品的构造组件化,降低了产品的生产和管理的难度.

抽象模式也可以完成上述功能,但抽象模式并不为专门是来构造复杂对象的.生成器模式更加关注一种产品本身的构造过程.

================================================================================

生成器模式一个比较典型而非常有用的应用就是构造sql语句,特别做一些动态查询业务的时候非常有用。比如:sql语句的构造可分为select部分构造,where条件构造,order by,group by 构造等部分。最后简单连接起来就形成完整的sql语句.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值