使用情況描述:某人向銀行借錢 借1w一下一般櫃員就可以解決,借2w一下一般經理就能解決,如果借更多就需要主管才能解決。
這就是乙個責任鏈,根據條件的不同,分別進行複雜的邏輯運算。
if,switch都可以進行這樣的操作,但是需要在每一層進行一次複雜的操作。責任鏈模式是一種物件的行為模式。在責任鏈模式裡,很多物件由每乙個物件對其下家的引用而連線起來形成一條鏈。請求在這個鏈上傳遞,直到鏈上的某乙個物件決定處理此請求。
責任鏈模式的優點
實現了請求者與處理者**分離:發出這個請求的客戶端並不知道鏈上的哪乙個物件最終處理這個請求,這使得系統可以在不影響客戶端的情況下動態地重新組織和分配責任。提高系統的靈活性和可擴充套件行。
缺點:
每次都是從鏈頭開始:這也正是鍊錶的缺點。你也許會想到一種貌似不錯的解決方案,比如使用hash對映,將要處理的請求id與處理類物件關聯,但是這樣系統損失了可擴充套件性。
public class loan
public decimal loanmoney
public loan(string name,decimal loandecimal)
}
public class employe
public virtual void loanmoneytosome(loan loan)
else if (next != null)
else
}}
public class deputymanager: employe
money ",loan.name,loan.loanmoney
));
}else if (next != null)
else
}}
public class manger: employe
}
class program
}
責任鏈設計模式
責任鏈的應用場景 簡單使用責任鏈模式拆分 servlet api 中的過濾器 模擬servlet中的request物件 desc模擬 servlet 中的 request 物件 模擬servlet中的response物件 desc模擬 servlet 中的 response 物件 過濾器抽象層 de...
設計模式 責任鏈
引用 objective c程式設計之道 ios設計模式解析 責任鏈模式 使多個物件都有機會處理請求,從而避免請求的傳送者和接收者之間發生耦合。此模式將這些物件連成一條鏈,從而沿著這條鏈傳遞請求,直到有乙個物件處理它為止。責任鏈主要思想 很多物件引用了同一型別的另乙個物件,形成了一條鏈。鏈中每個物件...
責任鏈設計模式
責任鏈模式 responsibility pattern 是行為型設計模式之一。這種模型結構有點類似現實生活中鐵鍊,由乙個個鐵環首尾相接構成一條鏈,如果這種結構用在程式設計領域,則每個節點可以看做乙個物件,每個物件有不同的處理邏輯,將乙個請求從鏈的首端發出,沿著鏈的路徑依次傳遞每個節點物件,直到有物...