设计模式-建造者模式JAVA实现
建造者模式就是 接口规定了要完成的动作(也就是方法),然后有各个实现类针对这些方法分别进行各自具体的实现。 个人理解其与模板模式最主要的区别就是模板模式会有一个以final定义的方法来规定其必须要完成的动作流程,这个流程不允许被其子类所修改。而建造者模式没有这个约束,只要实现接口规定的方法建即可。 也就是说模板模式隐含一个流程性,而建造者模式没有固定的流程性 下边还是仓库拣货为例简单说明建造者模式 仓库拣货时一般是多张出库单同时拣货,那么一般会根据客户的情况有至少两种拣货任务与拣货列表的生成方式。 一个是合并拣货。所有客户(X,Y,Z)要拣的A品一共3箱4盒,那就可能生成两个拣货列表(一个3箱,一个4盒)和一个拣货任务(a人员去同时拣这两个列表指定的SKU) 另一个是分别拣货,所有客户(X,Y,Z)对要拣的A品可能生成了4个拣货列表(X客户1箱,Y客户1箱,Z客户1箱,Z还有4盒)和2个拣货任务(a人员在整货区拣所有的整箱,b人员在散货区拣散盒) 那么在实际生成时就可以先定义一个统一的接口 package builder; import java.util.List; import bean.PickDoc; import bean.PickList; import bean.PickTask; /** 定义要完成的动作 @author mas */ public