建造者模式
来源:互联网 发布:java编写验证身份证号 编辑:程序博客网 时间:2024/06/15 22:02
建造者模式是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示,即固定流程,忽视细节。
通常包括四种角色:
1. Builder:为创建一类产品对象的各个部件指定抽象接口。
2. ConcreteBuilder:具体创建类,实现Builder接口,细节。
3. Director:使用Builder接口的对象,固定流程。
4. Product:产品。
下面是创建不同牌子的车的事例:
class Car { // 大致分为 车身 和 车轮 两部分 String body; String wheel; ... // 省略 setter、getter}interface CarBuilder { void createBody(); void createWheel(); Car createCar();}class ACarBuilder implements CarBuilder { Car car; public ACarBuilder(){ car = new Car(); } public void createBody(){ car.setBody("A车的车身"); } public void createWheel(){ car.setWheel("A车的车轮"); } public Car createCar(){ return car; }}class BCarBuilder implements CarBuilder { Car car; public BCarBuilder(){ car = new Car(); } public void createBody(){ car.setBody("B车的车身"); } public void createWheel(){ car.setWheel("B车的车轮"); } public Car createCar(){ return car; }}class Director { // 在这里,只需关注建造的顺序,不需要关注每一个部分是怎么建造的 public Car createCar(CarBuilder builder){ builder.createBody(); builder.createWheel(); return builder.createCar(); }}public class Main { public static void main(String args[]){ Director director = new Director(); Car carA = director.createCar(new ACarBuilder()); System.out.println("车身:" + carA.getBody()); System.out.println("车轮:" + carA.getWheel()); Car carB = director.createCar(new BCarBuilder()); System.out.println("车身:" + carB.getBody()); System.out.println("车轮:" + carB.getWheel()); }}
阅读全文
0 0
- Builder 建造者模式
- 建造者模式
- 设计模式-------建造者
- 建造者模式
- 建造者模式(Builder)
- 建造者模式(Builder)
- 建造者模式
- 建造者模式 - builder
- 建造者模式
- Builder建造者模式
- 建造者模式(Builder)
- 建造者模式(builder)
- 建造者模式
- java建造者模式
- 建造者模式
- 建造者模式
- 建造者模式(Builder)
- 建造者模式
- 关于短信发送与HTTP请求的那些事
- Token和session
- 新年的小目标
- Interop Tools开启电信4G上网之后出现两个问题
- 机器人相关的网址
- 建造者模式
- [门户自用]在div显示时间,年月日,星期
- SSM+Maven 分页查询
- 在Salesforce标准页面上使用Url传参
- 自媒体淘客收入到底有多客观?你不知道的自媒体技巧!
- Android SDK Manager 下载镜像
- SchedulerX
- springboot 的pom文件
- 自练题20170727