Builder 构建器
Builder 构建器
分离复杂对象的构建和表示
创建一个构建器接口,有builderPart1、builderPart2等构建复杂对象各个部分的方法,以及builder返回复杂对象的方法。写几个不同的构建器接口的实现类。实现简单或者复杂的构建。
//等待被构建的复杂对象public class Terrain {wall w;fort f;mine m;}class Wall {int a,b,c,d;public wall(int a,int b,int c,int d){this.a = a;this.b = b;this.c = c;this.d=d;}}// fort及mine 同 wall//builder 接口public interface BuilderTerrain {BuilderTerrain builderWall();BuilderTerrain builderFort();BuilderTerrain builderMine();Terrain builder();}//simpleBuilder 简单的构建public class SimpleBuilder implements BuilderTerrain{Terrain terrain = new Terrain();public BuilderTerrain builderWall(){terrain.w = new Wall(10,10,10,10);return this;}public BuilderTerrain builderFort(){terrain.f = new Fort(10,10,10,10);return this;}public BuilderTerrain builderMine(){terrain.m = new Mine(10,10,10,10);return this;}public Terrain builder(){return this.terrain;}}//complexBuilder复杂的构建,与simpleBuilder类似,只是builderPart方法实现略有不同。//main方法测试public static void main(String[] args){SimpleBuilder simple = new SimpleBuilder();Terrain terrain =simple.builderWall().builderFort().builderMine().builder();}
