生成器模式

生成器模式:

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

适用性:

当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。

当构造过程必须允许被构造的对象有不同的表示时。

clip_image003

 

例子:

/*装电脑需要装内存和硬盘*/
public class compositionComputer
{
         public void addHarddisk()
          {
                    system.out.println("i am a new Harddisk!") ;
          }
          public void addMemory()
          {
                    system.out.println("i am a new memory!") ;
          }
}

public abstract class compositionComputerBuilder
{
          protected compositionComputer = new compositionComputer() ;
          public void composition() ;
}

public class  compositionComputerBuilderA extends compositionComputerBuilder
{
          public void composition()
          {
                    compositionComputer.addHarddisk();
                    compositionComputer.addMemory() ;
          }
}
public class  compositionComputerBuilderB extends compositionComputerBuilder
{
          public void composition()
          {
                    compositionComputer.addMemory() ;
                    compositionComputer.addHarddisk();
          }
}

public class direct
{
          compositionComputerBuilder builder = null ;
          public directory(compositionComputerBuilder builder)
          {
                    this.builder = builder ;
          }
          public showStep()
          {
                    builder.composition ;
          }
}
public class test
{
          public static void main()
          {
                    compositionComputerBuilder buildA = new compositionComputerBuilderA() ;
                    direct directA = new direct(buildA) ;
                    directA.show() ;
                    compositionComputerBuilder buildB = new compositionComputerBuilderB() ;
                    direct directB = new direct(buildB) ;
                    directB.show() ;
          }
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值