Builder建造者模式

Builder模式定义:
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.

 

Builder模式是为了将构建复杂对象的过程和它的部件解耦 

 

第一种情况:

 

public interface ComputerBuilder{

      public Computer getComputer();

}

 

public interface ProcessComputerA extend ComputerBuilder{

       public CPU buildCPU():

       public Memory buildMemory();

       public HDD buildHDD();

}

 

public interface ProcessComputerB extend ComputerBuilder{

       publilc CPU buildCPU();

       public  Memory buildMemory();

}

 

public class ProcessComputerAImpl implement ProcessComputerA{

       public CPU buildCPU(){}

       public Memory buildMemory(){}

       public HDD buildHDD(){}

       public Computer getComputer(){

              buildCPU();

              buildMemory();

              buildHDD();

       }

}

 

public class ProcessComputerBImpl implement ProcessComputerB{

       publilc CPU buildCPU(){}

       public  Memory buildMemory(){}

       public Computer getComputer(){

              buildCPU();

              buildMemory();              

       }

}

 

public interface CPU {...}

 

public interface HDD{...}

 

public interface Memory{....}

 

public interface Computer{...}

 

 

第二种情况:

分离Director和Builder角色

public interface ComputerBuilder{

       public CPU buildCPU():

       public Memory buildMemory();

       public HDD buildHDD();      

}

 

public class ConcreteAComputerBuilder implement ComputerBuilder{

       public CPU buildCPU(){}

       public Memory buildMemory(){}

       public HDD buildHDD(){}      

}

 

 

public class ConcreteBComputerBuilder implement ComputerBuilder{

       public CPU buildCPU(){}

       public Memory buildMemory(){}

       public HDD buildHDD(){}      

}

 

 

public class ComputerDirector {

        private ComputerBuilder builder;

 

        public Computer getComputer(){

             builder.buildComputer();

             builder.buildMemory();

             builder.buildHDD();

        }

}

 

public interface CPU {...}

 

public interface HDD{...}

 

public interface Memory{....}

 

public interface Computer{...}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值