//採購單:請求類
class
purchaserequest
public
void setamount(double amount)
public
double getamount()
public
void setnumber(int number)
public
int getnumber()
public
void setpurpose(string purpose)
public string getpurpose()
}//審批者類:抽象處理者
abstract
class
protected string name; //審批者姓名
this.name = name;
}//設定後繼者
public
this.successor = successor;
}//抽象請求處理方法
public
abstract
void processrequest(purchaserequest request);
}//主任類:具體處理者
class
director
extends
public director(string name)
//具體請求處理方法
public
void processrequest(purchaserequest request) else
}}//副董事長類:具體處理者
class
vicepresident
extends
public vicepresident(string name)
//具體請求處理方法
public
void processrequest(purchaserequest request) else
}}//董事長類:具體處理者
class
president
extends
public president(string name)
//具體請求處理方法
public
void processrequest(purchaserequest request) else
}}//董事會類:具體處理者
class
congress
extends
public congress(string name)
//具體請求處理方法
public
void processrequest(purchaserequest request)
}class
client
}
行為型模式 職責鏈模式
職責鏈模式 chain of responsibility pattern 避免請求傳送者與接收者耦合在一起,讓多個物件都有可能接收請求,將這些物件連線成一條鏈,並且沿著這條鏈傳遞請求,直到有物件處理它為止。職責鏈模式是一種物件行為型模式。它定義了乙個處理請求的介面,一般設計為抽象類,由於不同的具體...
設計模式 行為型模式 責任鏈模式
設計模式 行為型模式 責任鏈模式 將請求沿著鏈傳遞,然後直到物件處理即可。邏輯如上,只處理1,2,3情況,其餘的情況都不處理。物件 public class level public boolean above level level 將物件進行封裝 public class request pub...
14 行為型模式 職責鏈模式
模式動機 chain of responsibility pattern 對於某個請求,有多個接收者都可能處理,將這樣的接收者鏈結成乙個單向鍊錶,根據不同的請求型別決定最終由哪個結點負責處理。不同結點需要維護乙個指向下乙個結點的鏈結,該鏈結可以通過構造結點時傳入,也可以通過結點介面指定下乙個接收結點...