到底是不是隔壁老王?責任鏈模式幫小頭爸爸洗綠

2021-10-24 15:54:59 字數 2635 閱讀 4556

在傳送請求的類和最終處理的類之間進行解耦

小夥伴們都看過 大頭兒子小頭爸爸 麼(大手牽小手, 走路不怕滑~), 當初純潔的我怎麼也沒想到小頭爸爸的綠帽子這麼鮮豔

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-xt17mqqa-1602385559394)(/assets/2019101901.png)]

話說大家都這麼說, 大頭媽媽天天在家裡生氣, 小頭爸爸內心也忍不住了, 於是要證明自己的清(bei)白(lv)

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-8cgm5ja3-1602385559395)(/assets/2019101902.png)]

除了王叔叔, 還有二個他很懷疑的物件, 尖鼻子廚師和粗眉毛保安大哥, 他現在就想看看這到底是誰的責任, 於是我們可能會這樣寫:

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-bi0nzymw-1602385559396)(/assets/2019101904.png)]

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-9qcgmas0-1602385559397)(/assets/2019101905.png)]

這個時候他採取了如下的**:

定義乙個大頭兒子類:

@getter

public

class

bigheadson

定義乙個決定兒子爸爸的類:

public

class

decidefather

if(son.

iscoarseeyebrows()

)if(son.

isbighead()

)return

"小頭爸爸";}

}

然後小頭爸爸試了試:

public

class

}

很明顯, if-else 可能無限的地方就是設計模式可以使用的地方, 這時候比如他又懷疑了賣狗狗的大鬍子叔叔, 那他又要加個 if-else 了, 這個函式最終可能上百行, 變數可能共享, 那他就很難受了

先定義一套責任鏈的共有類:

public

inte***ce

chainnode

abstractchainnoderesponse

>

其中的類都是空實現, chainresult 如下:

@data

public

class

chainresult

abstractchainnoderesponse

>

定義乙個責任鏈處理器:

public

class

chainprocessor

}return defaultvalue;

}}

然後我們結合例子**進行使用:

自定義返回值:

@data

@noargsconstructor

@allargsconstructor

public

class

fathernamechainnoderesponse

extends

abstractchainnoderesponse

使得大頭兒子繼承入參類:

@getter

public

class

bigheadson

extends

abstractchainnoderequest

實現乙個抽象的找爸爸類:

public

abstract

class

checkfatherchainnode

implements

chainnode

}

尖鼻子檢查:

public

class

nosecheckfatherchainnode

extends

checkfatherchainnode

return chainresult;

}}

粗眉毛檢查:

public

class

eyebrowcheckfatherchainnode

extends

checkfatherchainnode

return chainresult;

}}

大頭檢查:

public

class

headcheckfatherchainnode

extends

checkfatherchainnode

return chainresult;

}}

最終使用:

public

class

}

區塊鏈到底是不是傳銷

區塊鏈 是什麼,不是什麼?作為區塊鏈技術的愛好者,我對這個去中心化技術非常著迷,尤其是對它改變資料儲存和認證方式的能力非常感興趣。第一次出現無需支付交易費用和第三方機構介入的情況下,任何想交易的雙方可以通過數字資產 數字貨幣 進行價值交易。在接下來的幾年內,這種去中心的系統將會是最安全的資料認證和儲...

區塊鏈到底是不是傳銷

在這個系統中,如果我和另乙個人c幾乎同時地喊出一句 為了艾澤拉斯!由於聽眾所處的位置不同,一定會有 人先聽到我說的那句話,而另外一些人則先聽到c的那句話,如果我們規定只能有乙個人說出這句話,那到底這句話是 誰說的?如果不加任何條件,那麼上述的情況一定會這樣發展 一部分人認為這句話是我說的,在聽到這句...

區塊鏈到底是不是傳銷

在當今社會,人們面臨兩個問題 其一,財產的貨幣化。在農工社會,財產也許是一塊土地或者是 住房 工廠 機器。但是,現在人們財富的基本形態是貨幣形態,不得不將貨幣存入商業銀行。可如何保證所選擇的是沒有風險的商業銀行?沒有可能,也就是說,人們的身家性命其實是掌握在不能控制的金融系統上。其二,現在人們的身份...