国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

建造者模式-Builder Pattern

這篇具有很好參考價(jià)值的文章主要介紹了建造者模式-Builder Pattern。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

原文地址:https://jaune162.blog/design-pattern/builder-pattern/

引言

現(xiàn)在一般大型的業(yè)務(wù)系統(tǒng)中的消息通知的形式都會(huì)有多種,比如短信、站內(nèi)信、釘釘通知、郵箱等形式。雖然信息內(nèi)容相同,但是展現(xiàn)形式缺不同。如短信使用的是純文本的形式,釘釘使用的一般是Markdown的形式,而郵箱則使用HTML形式。那如何處理這種差異呢?

建造者模式就是一個(gè)很好的選擇,使用不同的建造者,來(lái)構(gòu)造不同的消息。

定義及實(shí)現(xiàn)

建造者模式(Builder Pattern)是一種創(chuàng)建型設(shè)計(jì)模式,它可以讓你構(gòu)建復(fù)雜對(duì)象時(shí)更加靈活和可控。這種模式的主要目的是將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表示。

在軟件開(kāi)發(fā)中,我們經(jīng)常會(huì)遇到一些復(fù)雜的對(duì)象,這些對(duì)象通常由多個(gè)部分組成,而且每個(gè)部分的創(chuàng)建和組合可能需要花費(fèi)大量的時(shí)間和精力。為了解決這個(gè)問(wèn)題,我們可以使用建造者模式來(lái)簡(jiǎn)化對(duì)象的構(gòu)建過(guò)程。

建造者模式的核心思想是將復(fù)雜對(duì)象的構(gòu)建過(guò)程分解為多個(gè)簡(jiǎn)單的步驟,每個(gè)步驟負(fù)責(zé)創(chuàng)建一個(gè)特定的部分。這些步驟被封裝在一個(gè)單獨(dú)的類中,稱為“建造者”(Builder)。通過(guò)這種方式,我們可以逐步構(gòu)建復(fù)雜對(duì)象,同時(shí)保持代碼的可讀性和可維護(hù)性。

定義

Separate the construction of a complex object from its representation so that the same construction process can create different representations.

將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表示。

結(jié)構(gòu)

建造者模式-Builder Pattern,Java設(shè)計(jì)模式,建造者模式,python,開(kāi)發(fā)語(yǔ)言,設(shè)計(jì)模式

很多書(shū)或者博文中介紹建造者模式的時(shí)候都說(shuō)需要有一個(gè) Director 類,然后在這個(gè)類中完成構(gòu)建過(guò)程。這種情況適用于只需要順序調(diào)用Builder的各個(gè)方法,即可完成構(gòu)建過(guò)程的情況,或者說(shuō)Builder的各個(gè)方法無(wú)參。

關(guān)于這種結(jié)構(gòu)更多細(xì)節(jié)可以參考:https://refactoring.guru/design-patterns/builder

代碼實(shí)現(xiàn)

具體代碼中,使用 AbstractMessageBuilder 抽象 titleaddLine 方法,因?yàn)樵?個(gè)Builder中,這兩個(gè)方法的處理邏輯是一致的,不同的只有 build 方法。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-830175.html

@Data
public class Message {
   

    private String title;

    private String content;
}

public interface MessageBuilder {
   

    void title(String title);

    void addLine(String label, String desc);

    Message build();
}

@Getter
public class Line {
   

    private final String label;

    private final String desc;

    public Line(String label, String desc) {
   
        this.label = label;
        this.desc = desc;
    }
}

public abstract class AbstractMessageBuilder implements MessageBuilder {
   

    protected String title;

    protected List<

到了這里,關(guān)于建造者模式-Builder Pattern的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • (一)創(chuàng)建型設(shè)計(jì)模式:3、建造者模式(Builder Pattern)

    (一)創(chuàng)建型設(shè)計(jì)模式:3、建造者模式(Builder Pattern)

    目錄 1、建造者模式含義 2、建造者模式的講解 3、使用C++實(shí)現(xiàn)建造者模式的實(shí)例 4、建造者模式的優(yōu)缺點(diǎn) 5、建造者模式VS工廠模式 1、建造者模式含義 The intent of the Builder design pattern is to separate the construction of a complex object from its representation. By doing so the same construction process ca

    2024年02月13日
    瀏覽(16)
  • 【Java設(shè)計(jì)模式】建造者模式 & 注解@Builder

    【Java設(shè)計(jì)模式】建造者模式 & 注解@Builder

    將一個(gè)復(fù)雜對(duì)象的構(gòu)造與它的表示分離 ,使同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表示。它使將一個(gè)復(fù)雜的對(duì)象分解成多個(gè)簡(jiǎn)單的對(duì)象,然后一步步構(gòu)建而成。 每一個(gè)具體建造者都相對(duì)獨(dú)立,而與其它的具體建造者無(wú)關(guān),因此可以很方便地替換具體建造者或增加新的具體建造者,

    2024年02月14日
    瀏覽(18)
  • 【設(shè)計(jì)模式】23種設(shè)計(jì)模式——建造者模式Builder(原理講解+應(yīng)用場(chǎng)景介紹+案例介紹+Java代碼實(shí)現(xiàn))

    【設(shè)計(jì)模式】23種設(shè)計(jì)模式——建造者模式Builder(原理講解+應(yīng)用場(chǎng)景介紹+案例介紹+Java代碼實(shí)現(xiàn))

    建造者模式又叫生成器模式,是一種對(duì)象構(gòu)建模式。它可以將復(fù)雜對(duì)象的建造過(guò)程抽象出來(lái)(抽象類別),使這個(gè)抽象過(guò)程的不同實(shí)現(xiàn)方法可以構(gòu)造出不同屬性的對(duì)象 建造者模式是一步一步創(chuàng)建一個(gè)復(fù)雜的對(duì)象,它允許用戶只通過(guò)指定復(fù)雜對(duì)象的類型和內(nèi)容就可以構(gòu)建它們,不

    2024年02月16日
    瀏覽(25)
  • 【設(shè)計(jì)模式——學(xué)習(xí)筆記】23種設(shè)計(jì)模式——建造者模式Builder(原理講解+應(yīng)用場(chǎng)景介紹+案例介紹+Java代碼實(shí)現(xiàn))

    【設(shè)計(jì)模式——學(xué)習(xí)筆記】23種設(shè)計(jì)模式——建造者模式Builder(原理講解+應(yīng)用場(chǎng)景介紹+案例介紹+Java代碼實(shí)現(xiàn))

    建造者模式又叫生成器模式,是一種對(duì)象構(gòu)建模式。它可以將復(fù)雜對(duì)象的建造過(guò)程抽象出來(lái)(抽象類別),使這個(gè)抽象過(guò)程的不同實(shí)現(xiàn)方法可以構(gòu)造出不同屬性的對(duì)象 建造者模式是一步一步創(chuàng)建一個(gè)復(fù)雜的對(duì)象,它允許用戶只通過(guò)指定復(fù)雜對(duì)象的類型和內(nèi)容就可以構(gòu)建它們,不

    2024年02月15日
    瀏覽(26)
  • 建造者模式-Builder Pattern

    建造者模式-Builder Pattern

    原文地址:https://jaune162.blog/design-pattern/builder-pattern/ 現(xiàn)在一般大型的業(yè)務(wù)系統(tǒng)中的消息通知的形式都會(huì)有多種,比如短信、站內(nèi)信、釘釘通知、郵箱等形式。雖然信息內(nèi)容相同,但是展現(xiàn)形式缺不同。如短信使用的是純文本的形式,釘釘使用的一般是Markdown的形式,而郵箱則

    2024年02月20日
    瀏覽(32)
  • 建造者模式(Builder Pattern)

    建造者模式(Builder Pattern)

    建造者模式(Builder Pattern)是最復(fù)雜的創(chuàng)建型模式,它 用于創(chuàng)建一個(gè)包含多個(gè)組成部分的復(fù)雜對(duì)象 ,可以返回一個(gè)完整的產(chǎn)品對(duì)象給用戶。它通過(guò)將 客戶端與包含多個(gè)組成部分的復(fù)雜對(duì)象的創(chuàng)建過(guò)程分離 ,使得 客戶端無(wú)需知道復(fù)雜對(duì)象的內(nèi)部組成部分與裝配方式,只需要

    2024年02月03日
    瀏覽(23)
  • 生成器設(shè)計(jì)模式(Builder Design Pattern)[論點(diǎn):概念、圖示、示例、框架中的應(yīng)用、場(chǎng)景]

    生成器設(shè)計(jì)模式(Builder Design Pattern)[論點(diǎn):概念、圖示、示例、框架中的應(yīng)用、場(chǎng)景]

    ??????? 生成器設(shè)計(jì)模式(Builder Design Pattern)是一種創(chuàng)建型設(shè)計(jì)模式,用于處理具有多個(gè)屬性和復(fù)雜構(gòu)造過(guò)程的對(duì)象。生成器模式通過(guò)將對(duì)象的構(gòu)建過(guò)程與其表示分離,使得相同的構(gòu)建過(guò)程可以創(chuàng)建不同的表示。這有助于減少構(gòu)造函數(shù)的參數(shù)個(gè)數(shù),提高代碼的可讀性和可維

    2023年04月11日
    瀏覽(25)
  • Java設(shè)計(jì)模式-建造者模式

    建造者模式是一種創(chuàng)建型設(shè)計(jì)模式,用于將復(fù)雜對(duì)象的構(gòu)建過(guò)程與其表示分離,使得同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表示。建造者模式通過(guò)將復(fù)雜對(duì)象的構(gòu)建過(guò)程分解為多個(gè)簡(jiǎn)單的步驟來(lái)實(shí)現(xiàn)。 與其他創(chuàng)建型模式不同,建造者模式強(qiáng)調(diào)的是將構(gòu)建過(guò)程與表示分離,而不是將對(duì)

    2024年02月02日
    瀏覽(15)
  • java設(shè)計(jì)模式之 - 建造者模式

    建造者模式(Builder Pattern)是一種創(chuàng)建型設(shè)計(jì)模式,它通過(guò)將對(duì)象的構(gòu)建過(guò)程分離出來(lái),使得同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表示形式。 簡(jiǎn)單來(lái)說(shuō),建造者模式允許你按步驟創(chuàng)建復(fù)雜的對(duì)象,同時(shí)將對(duì)象的構(gòu)建與其表示分離。 主要解決的問(wèn)題是當(dāng)創(chuàng)建一個(gè)復(fù)雜對(duì)象時(shí),如果

    2024年02月16日
    瀏覽(25)
  • Java設(shè)計(jì)模式之一:建造者模式

    Java設(shè)計(jì)模式之一:建造者模式

    目錄 一、什么是建造者模式 二、建造者模式如何使用 三、建造者模式的優(yōu)勢(shì)和應(yīng)用場(chǎng)景 Java建造者模式是一種創(chuàng)建對(duì)象的設(shè)計(jì)模式,它通過(guò)將對(duì)象的構(gòu)造過(guò)程分離出來(lái),使得同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表示。建造者模式適用于創(chuàng)建復(fù)雜對(duì)象,它將對(duì)象的構(gòu)建過(guò)程分解成

    2024年02月13日
    瀏覽(18)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包