建造者模式

建造者模式:是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

package ttyouni.factory;
public interface Builder {
     void buildHead();
     void buildBody();
     void buildFoot();

}

class ManBuilder implements Builder
{
    @Override
    public void buildHead() {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void buildBody() {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void buildFoot() {
        // TODO Auto-generated method stub
        
    }


}
class WomanBuilder implements Builder
{

    @Override
    public void buildHead() {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void buildBody() {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void buildFoot() {
        // TODO Auto-generated method stub
        
    }


    
}
class Director
{
    void createPerson(Builder builder)
    {
        builder.buildHead();
        builder.buildBody();
        builder.buildFoot();        
    }
}
View Code

使用建造者模式的好处:

1.使用建造者模式可以使客户端不必知道产品内部组成的细节。

2.具体的建造者类之间是相互独立的,对系统的扩展非常有利。

3.由于具体的建造者是独立的,因此可以对建造过程逐步细化,而不对其他的模块产生任何影响。

使用建造模式的场合:

1.创建复杂对象时,算法是稳定的,但是算法的过程是不断变化的。

2.要创建的复杂对象的算法,独立于该对象的组成部分,也独立于组成部分的装配方法时。

原文地址:https://www.cnblogs.com/liandy0906/p/7237154.html