建造者模式有很好的封装性,外界不需要知道产品具体是如何进行组合的。每个建造者都是互相独立互不影响的。先说一下建造者模式的构成,网上随便都可以查的到:
1.产品
2.抽象建造者(包含返回产品的方法)
3.具体建造者
4.指挥者
举例说明,王者荣耀游戏有很多角色,角色就是产品,每个角色都有各自的五官、皮肤、武器等属性。
抽象建造者定义了生成具体角色需要的方法,比如构建五官、构建皮肤、构建武器等。具体建造者负责建造具体的角色,比如黄忠的建造者、娜可露露的建造者、鲁班的建造者等。具体的建造者直接互不干扰。指挥者是需要指挥来构建具体需要构建的角色是黄忠还是鲁班。
下面贴代码看一下:

角色(产品)
清楚理解java23种设计模式-----建造者模式
抽象建造者,包含了一个返回角色(产品)的方法
清楚理解java23种设计模式-----建造者模式
具体建造者黄忠和鲁班
清楚理解java23种设计模式-----建造者模式
指挥者负责构建具体的产品
清楚理解java23种设计模式-----建造者模式
接下来我们需要给用户展现鲁班的五官和皮肤
清楚理解java23种设计模式-----建造者模式
但是在展示之前,我们的鲁班五官和皮肤都是没有的,那我们就需要调用一下指挥者来构建一下鲁班的五官和皮肤。
清楚理解java23种设计模式-----建造者模式
调用test方法输出鲁班的相关信息
清楚理解java23种设计模式-----建造者模式

相关文章:

  • 2021-07-12
  • 2021-11-24
  • 2021-08-03
  • 2021-12-01
  • 2021-09-19
  • 2021-05-01
  • 2021-09-11
猜你喜欢
  • 2021-12-05
  • 2021-09-24
  • 2021-11-27
  • 2021-05-30
相关资源
相似解决方案