美文网首页Amazing .NET.NET
设计模式之建造者模式

设计模式之建造者模式

作者: 天天向上卡索 | 来源:发表于2020-07-18 00:38 被阅读0次

设计模式之建造者模式

Intro 简介

建造者模式: 建造者模式隐藏了复杂对象的创建过程,它把复杂对象的创建过程加以抽象,通过子类继承或者重载的方式,动态的创建具有复合属性的对象。

需要的组件:

  • Product 最终要构建的产品
  • AbstractBuilder 创建一个 Product 的抽象 builder
  • ConcreteBuilder1/ConcreteBuilder2 创建 Product 具体的 builder
  • Director 指挥 builder 如何创建一个复杂的 Product(根据需要可以没有)

主要解决:

主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。

使用场景

当我们要创建的对象比较复杂,各种参数配置很多的时候可以考虑使用建造者模式,将复杂的构建过程封装在构建者中

Sample

var director = new Director();
Builder builder1 = new ConcreteBuilder1(), builder2 = new ConcreteBuilder2();

director.Construct(builder1);
director.Construct(builder2);

var product2 = builder1.GetResult();
var product2 = builder2.GetResult();

.net core 中的各种 builder (HostBuilder/ConfigurationBuilder/...) 我觉得也是属于建造者模式的,只是 Builder 本身就是 Director,
通过 builder 来实现对象的各种参数配置构建最终的目标对象 (Host/Configuration/...)

Reference

相关文章

  • Android中涉及的模式

    我的Java设计模式-建造者模式 我的Java设计模式-观察者模式 重学设计模式之单例模式

  • 设计模式之建造者模式

    设计模式之建造者模式 Intro 简介 建造者模式: 建造者模式隐藏了复杂对象的创建过程,它把复杂对象的创建过程加...

  • 设计模式之建造者模式

    设计模式之建造者模式 1. 模式定义 建造者模式又可以成为生成器模式,它属于对象创建型模式。建造者模式将一个复杂对...

  • Javaの设计模式之建造者模式

    推荐阅读:《设计模式之禅》 今早早起,刚刚出炉,哈哈 BuilderPattern 设计模式之建造者模式 Demo...

  • 设计模式之建造者模式

    设计模式之建造者模式 建造者模式 属于 创建型模式,提供一种创建对象的最佳方式。 创建型模式 指不是直接使用ne...

  • Retrofit

    Retrofit设计模式 动态代理,装饰模式,建造者模式,抽象工厂模式,适配器模式 建造者模式创建Retrofit...

  • 设计模式 - 目录

    设计模式01 - 单例模式 设计模式02 - 工厂模式 设计模式03 - 建造者模式 设计模式04 - 适配器模式...

  • java设计模式--建造者模式

    java设计模式--建造者模式 建造者模式定义 建造者模式:是将复杂对象的构建与表示进行分离,使同样的构建过程会有...

  • 【Java设计模式】--建造者模式

    建造者模式(Bulider模式) 一、什么是建造者模式 建造者模式是设计模式的一种,将一个复杂对象的构建与它的表示...

  • 建造者设计模式-Builder design pattern

    建造者设计模式是创建型设计模式的一种。创建型设计模式处理对象创建的问题。 建造者设计模式,用来构建需要经过若干个建...

网友评论

    本文标题:设计模式之建造者模式

    本文链接:https://www.haomeiwen.com/subject/qugohktx.html