意图:
使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,
并沿着这条链传递改请求,直到有一个对象处理它为止。
结构:
代码:
class CHandler{
public:
void SetHandler(CHanlder * pH){ m_pHandler =pH; }
virtual void HandleRequest(unsign int i);
protect:
CHandler * m_pHandler;
}
class CConreteHandler1:public CHandler{
public:
void HandleRequest(unsign int i){
if(i<10)
count<<"handle i sucss !\n";
else
NULL!=m_pHander?m_pHandler->HandleRequest(i):NULL;
}
class CConreteHandler2:public CHandler{
public:
void HandleRequest(unsign int i){
if(i<20){
count<<"handle i sucss !\n";
else
NULL!=m_pHander?m_pHandler->H