首页 > 代码库 > Builder生成器(创建型模式)

Builder生成器(创建型模式)

一、使用场景:

1、假设要创建一个House设施,该设施的创建由若干个部分组成,而且这若干个部分经常变化。

如果用最直观的设计方式,每一个房屋部分的变化,都将导致整个房屋结构的重新修正,但是这种设计方式,维护成本太高,而且如果对象极度复杂,那么很容易就会产生问题!

So,Builder  Pattern  is  userd to solve this   paogram!

 

2、意图

讲一个复杂对象的构建与表示相分离,使得同样的构建过程可以创建不同的表示。                                                                               ---设计模式《GOF》

 

3、抽象图

技术分享

当软件的"主线"

技术分享

比较稳定,当主线边上的枝枝叶叶变化频繁的话

 

4、Bulider模式的使用动机

在软件系统中,有时候面临这一个"复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个对象的子对象经常面临这剧烈的变化,但是将它们组合在一起的算法却非常的稳定。

那么如何应对这种变化?如何提供一种"封装机制"来隔离出复杂对象各个部分的变化,从而保证系统中的稳定构建算法不随需求的变化而变化?

 

Builder生成器(创建型模式)