定义:生成器模式是一种创建型设计模式, 使你能够分步骤创建复杂对象。 该模式允许你使用相同的创建代码生成不同类型和形式的对象。
你需要建造一座豪华别墅,需要安装泳池、暖气、和田玉地板、供电、宽带等。
将对象构造代码从产品类中抽取出来, 并将其放在一个名为生成器的独立对象中。
接口声明在所有类型生成器中通用的产品构造步骤。
提供构造过程的不同实现。 具体生成器也可以构造不遵循通用接口的产品。
最终生成的复杂对象(为客户定做的别墅)。这些产品类并不一定有共同的接口,完全可以是不相关联的。
主管 (Director)
定义调用构造步骤的顺序, 这样你就可以创建和复用特定的产品配置。
客户端 (Client)
必须将某个生成器对象与主管类关联。(主管知道需要哪些创建步骤才能获取正常使用的产品) 一般情况下, 你只需通过主管类构造函数的参数进行一次性关联即可。 此后主 管类就能使用生成器对象完成后续所有的构造任务。 但在客户端将生成器对象传递给主管类制造方法时还有另一方式。 在这种情况下, 你在使用主管类生产产品时每次都可以使用不同的生成器。
分步制造汽车,生成器模式允许你分步骤地制造不同型号的汽车。