欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Builder设计模式

程序员文章站 2022-07-14 16:48:46
...
public class BuilderPattern {
	private String name ;
	private int age;
	private String email;
	BuilderPattern(Builder builder){
		this.name = builder.name;
		this.age = builder.age;
		this.email = builder.email;
	}
	public void printinfo(){
		System.out.println("name:"+this.name+"-----age:"+this.age+"----email:"+this.email);
	}
	public static void main(String[] args) {
		BuilderPattern bp = new BuilderPattern.Builder().setName("javaeye").setAge(23).setEamil("aa@qq.com").build(); 
		bp.printinfo();
	}
	private static class Builder{
		private String name ;
		private int age;
		private String email;
		public BuilderPattern build(){
			return new BuilderPattern(this);
		}
		public Builder(){
		}
		public Builder setName(String name){
			this.name = name;
			return this;
		}
		public Builder setAge(int age){
			this.age = age;
			return this;
		}
		public Builder setEamil(String email){
			this.email = email;
			return this;
		}
	}
}

 这种方式适合对于复杂的对象,简单的调用方式,避免了一行一行的setXxxx或者是 糊里糊涂的构造