Java设计模式之建造者模式
建造者设计模式: 使用多个简单的对象一步构建一个复杂的对象,这种类型的设计模式属于创建者模式。 介绍: 意图: 将一个复杂对象的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 主要解决: 有时候面临一个复杂对象的创建工作,其通常由各个部分的子对象使用一定的算法构成,由于需求的改变,这个复杂的对象的各个部分经常面临着剧烈的变化,但是将他们组合在一起的算法去相对稳定。 何时使用: 一些基本不会变,而其组合经常变化的时候。 关键代码: 建造者:创建和提供实例,导演:管理创建出来的实例的依赖关系。 应用实例: 1去肯德基,可乐,汉堡以及鸡翅是不会变化的,但是客户点餐的套餐组合是不一样的。 优点: 1建造者独立,容易扩展。2便于控制细节风险。 缺点: 1产品必须具有共同点,范围有限制。2如果内部变化复杂,会导致有很多建造类。 使用场景: 1需要生成的对象具有复杂的内部结构。2需要生成的对象内部属性本身相互依赖。 注意事项: 与工厂模式不同,建造者模式更加强调零件之间的装配的顺序。 模式角色: 建造者角色:定义生成实例所需要的所有方法。 具体的建造者角色:实现生成实例所需要的所有方法,并且定义获取最终实例的方法。 监工角色:定义使用建造者角色中的方法来生成实例的方法。 使用者:使用建造者模式。 uml图: Product类 import java.util.ArrayList;