1. 程式人生 > >java設計模式之行為模型模式

java設計模式之行為模型模式

前面學習了創造模式系列和結構模式系列,本文來學習下行為模式系列

這一章打算找一些開源專案中的程式碼例子來寫。


父類與子類

策略模式

針對介面的一個方法有不同的實現,讓客戶來選擇

模板方法

父類一般是抽象類,實現介面方法,定義一個抽象方法讓子類去實現 通過dubbo程式碼中,如何實現客戶端負載均衡演算法,來理解下這幾個模式

類與類之間

觀察者模式

很經典的設計模式,又叫監聽者模式,我下面舉的例子是 jdk原始碼中,事件通知的程式碼

迭代子模式

這個模式一般用來遍歷集合,所以我舉得例子是 ArrayList

責任鏈模式

這個模式也很經典,構造責任鏈,Filter javaweb 開發都瞭解。 下面我覺得例子是最近看netty原始碼中channelPipeline

命令模式

這個模式,我舉得列子是dubbo程式碼中container 容器類的實現

類的狀態

備忘錄模式

這個模式有點類似於 資料庫事務回滾。 打個快照用於回到最初

狀態模式

這個模式一般與前面的觀察者模式,結合起來一起使用,用得例子是rocketmq中,處理remoting連結的時候,來抽象channel的狀態

通過中間類

訪問者模式

這個模式主要將對資料結構的操作和資料本身隔離開, 比如 我們經常寫的service 和DAO

中介者模式

這個模式主要是 彼此絕緣,讓操作者不包含任何對User類的引用

直譯器模式

這個模式,主要用於國際化之類的。同一個code,給使用者不同語言的展示