设计模式2--建造模式
设计模式2--建造模式
建造模式
建造模式的使用使得产品的内部可以独立的变化,使用建造模式可以使客户端不必知道产品内容组成的细节。
Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们,用户不知道内部的具体构建细节。
因为一个复杂的对象,不但有很多大量组成部分、如何将这些部分组在一起;这就需要建造模式了。
事例:先定义一个类、提供多个部件方法
Public class Car{
Public void getType(){}//生产轮胎
Public void getSteering Wheel(){}//生产方向 盘
Public void getGlasses(){};//生产玻璃
Public void getEngine(){}//生产发动机
}
然后建立一个Builder类、将Car中的各个部件使用一个方法组装起来
Public class CarBuilder{
Car car = new Car();
//定义组装过程
Public void builderCar(){
car.getEngine();
car.getType();
car.getSteeringWheel();
car.getGlesses();
}
//获取车
Public Car getCar(){
this.builderCar();
Return car;
}
}
在CarBuilder类中,定义了builderCar()方法,该方法负责组装Car中的各个部件;getCar()方法可以获得一个完整的Car对象,对于客户端来说、并不需要关注具体的每个部件;也不需要关注组装过程。
如果需要生成的产品对象有复杂的内部结构,而这些内部结构实在没有对外公布的必要、可以使用建造模式来将这些细节 封装为一个统一体。需要生成的产品对象属性如果相互依赖的,使用建造模式可以强制实行一种分步骤进行建造的过程。