建造者模式
主要作用:
在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象。
意图:
将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。
案例:
人:有头,身子,腿,怎么创建胖子,瘦子,高个子,矮个子。
创建胖子类,瘦子类,高个子类,矮个子类。创建者模式就是创建和显示分离,director负责显示,builder负责创建。
abstract class Builder { public abstract void BuildHead();//创建头 public abstract void BuildBody();//创建身子 public abstract void Buildleg(); //创建腿 }
class ThinBuilder extends Builder{ @Override public void BuildHead() { System.out.println("头"); } @Override public void BuildBody() { System.out.println("瘦子"); } @Override public void Buildleg() { System.out.println("腿"); } }
class Director { private Builder builder; public Director(Builder builder) { this.builder=builder; } public void CreaePerson() { builder.BuildHead(); builder.BuildBody(); builder.Buildleg(); } }
public static void main(String[] args) { ThinBuilder th=new ThinBuilder(); Director dr=new Director(th); dr.CreaePerson(); }