设计模式-build

设计模式-build

"建造者模式"(Builder Pattern)是一种创建型设计模式,它的主要目的是将一个复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。

1.使用场景

多个部件或者零件,都可以装配到一个对象中,但是产生的运行结果又相同。

产品类非常复杂,或者产品类中调用顺序不同产生了不同的作用。

初始化一个对象特别复杂,如使用多个构造方法,或者说有很多参数,并且都有默认值时。

2.举例

Computer.java

public abstract class Computer { protected String mBoard; protected String mDisplay; protected String mOs; protected Computer(){ } public void setBoard(String board){ mBoard=board; } public void setDisplay(String display) { this.mDisplay = display; } public abstract void setOs() ; @Override public String toString() { return "Computer{" + "mBoard='" + mBoard + ''' + ", mDisplay='" + mDisplay + ''' + ", mOs='" + mOs + ''' + '}'; } }

MacBook.java

public class MacBook extends Computer{ protected MacBook() { } @Override public void setOs() { mOs="Mac OS X 12"; } }

Builder.java

public abstract class Builder { abstract void buildBoard(String board); abstract void buildDisplay(String display); abstract void buildOs(); abstract Computer build(); }

MacBookBuilder.java

public class MacBookBuilder extends Builder { private Computer mComputer=new MacBook(); @Override void buildBoard(String board) { mComputer.setBoard(board); } @Override void buildDisplay(String display) { mComputer.setDisplay(display); } @Override void buildOs() { mComputer.setOs(); } @Override Computer build() { return mComputer; } }

Director.java

public class Director { Builder mBuilser=null; public Director(Builder builer) { this.mBuilser = builer; } public void construct(String board,String display){ mBuilser.buildDisplay(display); mBuilser.buildBoard(board); mBuilser.buildOs(); } }

Test.java

public class Test { public static void main(String[] args){ Builder builder=new MacBookBuilder(); Director pcDirector=new Director(builder); pcDirector.construct("英特尔主板","Retina显示器"); Computer computer = builder.build(); System.out.println(computer.toString()); } }

  • 13
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java的构造者设计模式是一种创建型设计模式,它允许我们使用相同的构造过程来构建不同的对象。这种模式通过将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。[1] 在Java中,构造者模式通常由一个Builder类和一个Director类组成。Builder类负责定义创建对象的各个部分的方法,而Director类负责使用Builder类来构建对象。 具体来说,Builder类中会定义一系列方法,用于设置对象的各个属性。这些方法可以根据需要进行链式调用,以便按照特定的顺序设置对象的属性。最后,Builder类会定义一个build方法,用于返回构建好的对象。 Director类负责控制构建过程的顺序,并将Builder类与具体的构建过程解耦。Director类可以根据需要调用Builder类中的方法来设置对象的属性,并最终调用build方法获取构建好的对象。 通过使用构造者设计模式,在创建对象的过程中可以更加灵活地设置对象的属性,而无需暴露对象的构造细节。这样可以使得代码更加模块化、可扩展和易于维护。因此,构造者设计模式Java中被广泛应用于创建复杂对象。<span class="em">1</span> #### 引用[.reference_title] - *1* [Java运用设计模式中的建造者模式构建项目的实例解析](https://download.csdn.net/download/weixin_38557727/12798185)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值