架构师内功心法,注重方法调用顺序的建造者模式详解
一、建造者模式的定义 大家平时都去过肯德基用餐,那里不变的是炸鸡、汉堡、薯条、可乐等,这些都是一直都有的,不变的,而其它组合是经常变化的,从而生成不同的“套餐”罢了。而建造模式(Builder Pattern)是将一个复杂的对象的构建过程与它的表示分离,使得同样的构建过程构建不同的表示。使用建造者模式对于用户而言只需要关注指定需要建造的类型就可以获得对象,而不需要了解建造的过程以及细节。 建造者模式适用于创建对象需要很多步骤,但是步骤的顺序不是固定不变的。先看一下建造者模式的类图: 建造者模式中的四个重要角色: 产品(Product):要创建的产品类对象 抽象建造者(Builder):规范产品对象的各个组成部分的建造 建造者(Concrete Builder):具体化对象的各个组成部分的创建 调用者(Director):负责保证对象各部分完整创建或按某种顺序创建 二、建造者模式的应用场景 建造者模式适用于一个具有较多的零件的复杂产品的创建过程,由于需求的变化,组成这个复杂产品的各个零件经常猛烈变化,但是它们的组合方式却相对稳定。 建造者模式适用于以下几种场景: 相同的方法,不同的执行顺序,产生的结果也不同 多个部件或零件,装配到一个对象中,产生的结果不同 产品类复杂,或者产品类中调用顺序不同产生不同的作用 初始化对象特别复杂,参数多,而且很多参数都有默认值 2.1