結合 Flink 學習裝飾者模式

2021-10-10 10:26:37 字數 708 閱讀 5863

什麼是裝飾者模式

動態的將責任附加到物件上。若要擴充套件功能,裝飾者提供了比繼承更有彈性的替代方案。

簡單的理解就是通過包裝來擴充套件功能,相比於繼承,更有彈性

flink 是如何實現觀察者模式的

@internal

public

class

implements

kafkadeserializationschema

@override

public t deserialize

(consumerrecord<

byte

,byte

> record)

throws exception

@override

public

boolean

isendofstream

(t nextelement)

@override

public typeinformation

getproducedtype()

}

public

flinkkafkaconsumer

(pattern subscriptionpattern, deserializationschema

valuedeserializer, properties props)

設計模式學習 裝飾者模式

當我們來到kfc開始點餐的時候,一開始還不是特別有胃口,所以只點了乙份漢堡 有乙份漢堡和飲料,但後來又點了乙份薯條,最後乾脆再點乙份炸雞腿,那麼如何來計算我們花了多少錢呢?在這個場景下,裝飾者模式會起到很好的效果。定義 動態的將責任附加到物件身上。若要擴充套件功能,裝飾者提供了比繼承更有彈性的替代方...

裝飾者模式學習記錄

裝飾者應用場景 擴充套件乙個類的功能或給乙個類新增附加職責 優點 1.不改變原有物件的情況下給乙個物件擴充套件功能 2.使用不同的組合可以實現不同的效果 3.符合開閉原則 注意 在新的裝飾器中要呼叫原來的方法 否則是不正確的 public class decorator inte ce compon...

裝飾者模式

裝飾者模式 動態地將責任附加到物件上。若要擴張功能,裝飾者提供了比繼承更有彈性的替代方案。裝飾者可以在所委託被裝飾者的行為之前或之後,加上自己的行為,以達到特定的目的。裝飾者與被裝飾者物件具有相同的超型別。include include using namespace std class bever...