責任鏈(CoR)涉及到在面向對象設計模式中表示每個實體的活動和責任的過程;命令對象和處理對象。命令對象將命令生成給處理對象,處理對象從它們可以處理的命令中進行選擇,并將其余的傳遞給鏈中的其他對象。這是面向對象設計...
責任鏈(CoR)涉及到在面向對象設計模式中表示每個實體的活動和責任的過程;命令對象和處理對象。命令對象將命令生成給處理對象,處理對象從它們可以處理的命令中進行選擇,并將其余的傳遞給鏈中的其他對象。這是面向對象設計的基本原則,并且在設計中有更大的靈活性,例如在責任鏈的設計模式中,對象在任何位置的新外殼。
![]()
商人豎起大拇指說面向對象設計背后的優勢是,通信不局限于發送方和接收方,因為那里有許多對象可以處理發送方的命令一系列不同的對象排成一行來處理命令,如果一個人不能處理它,那么它可以將它傳遞給鏈中的下一個。責任鏈將繼續下去,直到其中一個對象接受命令為止。責任鏈需要更靈活,并支持在鏈中添加新的處理程序。因為每個處理程序都不能完成每項任務,必須有一組處理程序可以一起工作。責任鏈可能有一些缺點,因為有些命令仍然沒有解決,即使在鏈的末尾。要解決這個問題,一種解決方案是實現所有可能的請求的所有處理程序。責任鏈系統中可能存在一些與斷開的鏈接有關的問題。如果程序員忘記鏈接命令,則請求可能會丟失請求表示非常重要,因為它被用于責任鏈的所有組件中。CoR設計中可能存在的另一個缺陷是,由于具體處理程序中的某些問題,某些請求可能在鏈的末端完全未被處理。但總而言之,責任鏈是一個很好的制度,如果它經過仔細設計,考慮到所有相關方面。