Redis解決超時和超賣問題
阿新 • • 發佈:2022-05-12
/** * 解決什麼問題? * 允許向一個現有的物件新增新的功能,同時又不改變其結構; * * 如何解決? * 1、繼承 * 使用繼承機制是給現有類新增功能的一種有效途徑,通過繼承一個現有類可以使得子類在擁有自身方法的同時還擁有父類的方法; * ***缺點: * 但是這種方法是靜態的,使用者不能控制 增加行為的方式和時機; * * 2、關聯 * 將一個類的物件嵌入另一個物件中,由另一個物件來決定是否呼叫嵌入物件的行為以便擴充套件自己的行為,這個嵌入的物件為裝飾器(Decorator); * ***優點: * 不需要建立很多子類; * 更靈活的控制物件的行為; * * 如何實現: * Component: * 一個介面或者抽象類; * 裝飾者和被裝飾者 共同的父類; * 定義基本行為; * * ConcreteComponent: * 實現類; * 被裝飾者; * * Decorator: * 抽象類,實現Component; * 所有裝飾器的抽象父類; * 屬性 指向 ConcreteComponent; * * ConcreteDecorator: * 具體的裝飾物件; * 實現具體 對被裝飾物件新增的功能; * * ***裝飾者和被裝飾者物件有相同的父類,因為裝飾者和被裝飾者必須是一樣的型別,這裡利用繼承是為了達到型別匹配,而不是利用繼承獲得行為; */