java設計模式之行為模型模式
阿新 • • 發佈:2019-01-08
前面學習了創造模式系列和結構模式系列,本文來學習下行為模式系列
這一章打算找一些開源專案中的程式碼例子來寫。
父類與子類
策略模式
針對介面的一個方法有不同的實現,讓客戶來選擇模板方法
父類一般是抽象類,實現介面方法,定義一個抽象方法讓子類去實現 通過dubbo程式碼中,如何實現客戶端負載均衡演算法,來理解下這幾個模式類與類之間
觀察者模式
很經典的設計模式,又叫監聽者模式,我下面舉的例子是 jdk原始碼中,事件通知的程式碼迭代子模式
這個模式一般用來遍歷集合,所以我舉得例子是 ArrayList責任鏈模式
這個模式也很經典,構造責任鏈,Filter javaweb 開發都瞭解。 下面我覺得例子是最近看netty原始碼中channelPipeline命令模式
類的狀態
備忘錄模式
這個模式有點類似於 資料庫事務回滾。 打個快照用於回到最初狀態模式
這個模式一般與前面的觀察者模式,結合起來一起使用,用得例子是rocketmq中,處理remoting連結的時候,來抽象channel的狀態通過中間類
訪問者模式
這個模式主要將對資料結構的操作和資料本身隔離開, 比如 我們經常寫的service 和DAO中介者模式
這個模式主要是 彼此絕緣,讓操作者不包含任何對User類的引用直譯器模式
這個模式,主要用於國際化之類的。同一個code,給使用者不同語言的展示