词条 | 生成器模式 |
释义 | 生成器模式也称为建造者模式。生成器模式的意图在于将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示(GoF)。在软件设计中,有时候面临着一个非常复杂的对象的创建工作。这个复杂的对象通常可以分成几个较小的部分,由各个子对象组合出这个复杂对象的过程相对来说比较稳定,但是子对象的创建过程各不相同并且可能面临变化。根据OOD中的OCP原则,应该对这些子对象的创建过程进行变化封装。 一. 生成器模式简介 这就是生成器模式的思路。定义一个抽象的建造者的角色(Builder),规定所有具体的建造者都应该具有的功能——这些功能就是如何创建复杂对象的某个特定部分(子对象),而具体如何创建子对象有具体的创建者实现。再定义一个指导者的角色,它把创建者作为工具,知道如何使用这个工具来创建复杂对象。这样,客户在需要创建这个复杂对象的时候,只需要给指导者一个具体的创建者就可以了。至于具体创建者如何创建子对象的细节以及这些子对象之间的差异,不是指导者,也不是客户关心的。 二. 生成器模式实例 还以汽车制造作为例子。假定汽车由三个部件组装而成:车身、引擎和轮胎,每个部件的制造以及最后的组装过程都很复杂。一个品牌汽车销售商一般不会自己来完成这些繁琐的过程,而是把它交给汽车零部件制造商。实际上有许多汽车零部件制造商,可以完成不间部件的生产和组装过程。 那么,客户是怎么获得一辆汽车的呢?首先,客户需要选定一个汽车制造商(比如某品牌),然后在选择一个汽车销售商(经纪人)为我们服务。然后,我们只需要告诉销售商我们需要哪个制造商的汽车,接下来,由销售商来代替我们监督汽车制造商一步一步为我们生产所需要的汽车(可以考虑订单式生产方式或对某部分特殊定制,如加长车身)。汽车生产完成后,由汽车制造厂提车就可以了。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。