zoukankan      html  css  js  c++  java
  • design_model(3)builder

    1.构造者模式

    构造者模式又叫创造者模式,是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示,隐藏了复杂对象的创建过程,把复杂对象的创建过程加以抽象,通过子类继承或者重载的方式,可以实现对象创建的多元化

    2.模式实例

    public class Car {
    	private  Engine  engine;
    	private  Body   body;
    	private  Wheel   wheel;
    	public Engine getEngine() {
    		return engine;
    	}
    	public void setEngine(Engine engine) {
    		this.engine = engine;
    	}
    	public Body getBody() {
    		return body;
    	}
    	public void setBody(Body body) {
    		this.body = body;
    	}
    	public Wheel getWheel() {
    		return wheel;
    	}
    	public void setWheel(Wheel wheel) {
    		this.wheel = wheel;
    	}
    }
    
    public class Wheel {
         
    }
    
    class  Body {
        
    }
    
    class  Engine{
    	
    }
    
    public interface Builder {
    	public abstract Wheel   createWheel();
    	public abstract  Body    createBody();
    	public  abstract  Engine   createEngine();
    }
    
    public class SxtBuilder implements Builder {
    	private static SxtBuilder sxtBuilder = new SxtBuilder();
    
    	@Override
    	public Wheel createWheel() {
    		return new Wheel();
    	}
    
    	@Override
    	public Body createBody() {
    		return new Body();
    	}
    
    	@Override
    	public Engine createEngine() {
    		return new Engine();
    	}
    
    	private SxtBuilder() {
    		super();
    	}
    
    	public static SxtBuilder getSxtBuilder() {
    		return sxtBuilder;
    	}
    }
    
    public class SxtDerictor {
        public  static Car getCar() {
        	Car car = new  Car();
        	SxtBuilder sixBuilder = SxtBuilder.getSxtBuilder();
        	car.setEngine(sixBuilder.createEngine());
        	car.setWheel(sixBuilder.createWheel());
        	car.setBody(sixBuilder.createBody());
        	return  car;
        }
    }
    
    public class Client {
        public static void main(String[] args) {
    		 Car car = SxtDerictor.getCar();
    	}
    }
    
  • 相关阅读:
    上传图片预览--图片上传后显示在某个模块中
    商品规格选择--添加背景色,并显示已选规格
    jquery选项卡
    swiper轮播图--兼容IE8
    点击图片查看大图--以弹框的形式显示在屏幕正中间
    百度地图API首页 -- 鼠标经过:类似翻页效果和 类似锚点链接效果
    别踩白块
    Jersey(1.19.1)
    Table of Contents
    Jersey(1.19.1)
  • 原文地址:https://www.cnblogs.com/gg128/p/9551769.html
Copyright © 2011-2022 走看看