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
原创粉丝点击