java的设计模式 建造者模式
来源:互联网 发布:mac口红正红色色号 编辑:程序博客网 时间:2024/05/22 14:57
建造者模式听起来很陌生,其实我们在代码中式很容易看见的,但是我们没有去留意,像以Builder结尾的类,就是采用了建造者模式
比如quartz里面的 jobBulider
我们生产一辆汽车,有很多配件,但是配件并不会到一个工厂生产,而是分割在世界各地,而我们主厂,就是要组装这些配件到一台完整的车。这个组装类,就是一个builder
一台汽车的组成:
package com.asiainfo.bulider;public class CarShip {private Tire tire;private Engine engine;public Tire getTire() {return tire;}public void setTire(Tire tire) {this.tire = tire;}public Engine getEngine() {return engine;}public void setEngine(Engine engine) {this.engine = engine;}}class Tire{private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}}class Engine{private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}}建造者接口类:
package com.asiainfo.bulider;public interface ICarBuilder { public Tire createTire(); public Engine createEngine();}建造者类:
package com.asiainfo.bulider;public class CarBuilder implements ICarBuilder{ public Tire createTire(){ System.out.println("创建轮胎"); return new Tire(); } public Engine createEngine(){ System.out.println("创建引擎"); return new Engine(); }}
组装:
package com.asiainfo.test;import com.asiainfo.bulider.CarBuilder;import com.asiainfo.bulider.CarShip;import com.asiainfo.bulider.ICarBuilder;public class TestBuilder {public static void main(String[] args) { ICarBuilder carBuilder = new CarBuilder(); CarShip carShip = new CarShip(); carShip.setEngine(carBuilder.createEngine()); carShip.setTire(carBuilder.createTire());}}这样我们就可以生产出一台汽车了!
0 0
- java的设计模式 建造者模式
- Java的建造设计模式
- JAVA-建造者设计模式
- Java设计模式-----Builder建造者模式
- Java设计模式-----Builder建造者模式
- JAVA设计模式--建造者模式
- java设计模式之建造者模式
- java设计模式之建造者模式
- 设计模式(JAVA)-------建造者模式
- java设计模式之建造者模式
- 【Java设计模式】之建造者模式
- java设计模式之建造者模式
- JAVA设计模式-建造者模式-Builder
- JAVA系列-设计模式-建造者模式
- Java--设计模式之建造者模式
- JAVA设计模式-建造者模式(Builder)
- java设计模式之-建造者模式
- java设计模式之建造者模式
- CTS DownloadManagerTest testMinimumDownload failed
- java-----String的intern关键字
- Java异常处理(1)
- Web前端面试题目汇总
- iOS开发——抽屉效果实现
- java的设计模式 建造者模式
- [CortexM3--CC26XX]Watchdog Timer(exp)
- 欢迎使用CSDN-markdown编辑器
- LoadRunner如何测试mysql语句
- Eclipse 中关联JDK源代码
- oracle 查询当前占用cpu及时间最长的sql语句
- Theme.AppCompat.Light无法找到问题
- 【mahapps.metro】WPF“关于”窗体
- 高仿今日头条(1)