屬於行為型模式的一種,乙個請求由多個物件來處理,這些物件形成一條鏈,請求沿著該鏈傳遞,直到該鏈上的某個物件處理它為止。
/**
* desc : 抽象處理者
* created by tiantian on 2018/8/19
*/public
inte***ce
ihandler
package design.patten.chain;
/** * desc : 具體處理者a
* created by tiantian on 2018/8/19
*/public
class
handlera
implements
ihandler
}@override
public
void
setnexthandler
(ihandler handler)
@override
public ihandler getnexthandler()
private
boolean
hasnext()
}
package design.patten.chain;
/** * desc : 具體處理者b
* created by tiantian on 2018/8/19
*/public
class
handlerb
implements
ihandler
}@override
public
void
setnexthandler
(ihandler handler)
@override
public ihandler getnexthandler()
private
boolean
hasnext()
}
package design.patten.chain;
/** * desc : 具體處理者c
* created by tiantian on 2018/8/19
*/public
class
handlerc
implements
ihandler
}@override
public
void
setnexthandler
(ihandler handler)
@override
public ihandler getnexthandler()
private
boolean
hasnext()
}
public
class
test
// output:
//handlera do something
//handlerb do something
//handlerc do something
}
js 中的事件冒泡。 servlet中的filter等。
優點: 分離了請求和處理,降低了耦合。請求的處理是在鏈上的某個處理者處理,請求者不知道具體處理者;處理者亦不知請求的全部細節。
缺點: 請求鏈較長時效能受到影響。除錯不太方便。
Java23種設計模式
定義 設計模式 design pattern 是一套反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。使用設計模式是為了可重用 讓 更容易被他人理解 保證 可靠性。單例模式,特點 全域性只有乙個例項。定義 單例模式,也叫單子模式,是一種常用的軟體設計模式。在應用這個模式的時候,單例物件的類必須...
Java23種設計模式
建立型模式,共五種 工廠方法模式 抽象工廠模式 單例模式 建造者模式 原型模式。結構型模式,共七種 介面卡模式 裝飾器模式 模式 外觀模式 橋接模式 組合模式 享元模式。行為型模式,共十一種 策略模式 模板方法模式 觀察者模式 迭代子模式 責任鏈模式 命令模式 備忘錄模 式 狀態模式 訪問者模式 中...
Java 23種設計模式
型別 模式建立型工廠模式 抽象工廠模式 單例模式 建造者模式 原型模式 結構型介面卡模式 橋接模式 組合模式 外觀模式 裝飾者模式 享元模式 模式 行為型責任鏈模式 命令模式 直譯器模式 迭代模式 中介者模式 備忘錄模式 觀察者模式 狀態模式 策略模式 模板方法模式 訪問者模式 模式說明 工廠模式 ...