我眼中的責任鏈模式

2021-08-09 07:41:36 字數 1325 閱讀 2062

處理事情的物件是先後順序的。程式設計中最明顯的就是**快取,一般,你會先查詢記憶體資料,沒有資料再看硬碟資料,再沒有資料,則請求網路資料。這裡很明顯的就是乙個個的進行處理。某個物件沒有能力處理則把處理權交給另外的物件。

想要行為乙個完整的鏈,需要有乙個設定下一級的能力,類圖中需要體現這點

類圖倒是很簡單的

//介面部分

public

inte***ce loader

public

class

localloader

implements

loader

return next.geturl();

}@override

public

void

setnext(loader loader)

public

void

seturl(string url)

}//網路的載入

public

class

netloader

implements

loader

return next.geturl();

}@override

public

void

setnext(loader loader)

public

void

seturl(string url)

}

呼叫

//手動的設定下一級的處理人是誰,可以在呼叫時進行指定,非常的靈活

loader loader = new cachedloader();

loader loadernext = new localloader();

loadernext.setnext(new netloader());

loader.setnext(loadernext);

loader.seturl("test");

loader.geturl();

log.d("第一級責任人有處理 "+loader.geturl());

//改變條件然後再去獲取值

loader.seturl(null);

loadernext.seturl("test2");

log.d("第一級責任人沒有處理 "+loader.geturl());

我的Java設計模式 責任鏈模式

今天來說說程式設計師小猿和產品就關於需求發生的故事。前不久,小猿收到了產品的需求。產品經理 小猿,為了迎合大眾屌絲使用者的口味,我們要放一張圖,要 的。小猿 你大爺的,讓身為正義與純潔化身的我做這種需求,還 產品經理 誤會誤會,是放一張暴露一點點的,尺寸不大。小猿 尼瑪 能說清楚些嗎,需求模稜兩可的...

我的設計模式之旅 責任鏈模式

我的理解是 將請求處理者按鏈式排列,當傳送乙個請求時,請求會由鏈式入口訪問,直到找到可以處理它的處理者為止。比如 對於公司的報銷流程,當報銷金額 1000 需要向組長申請 1000 5000需要向部門負責人申請 5000 則需要向總監申請。依次向上申請,且不能越級處理。如果申請金額為4000,則先開...

責任鏈模式

責任鏈模式 chain of responsibility 的目標是使多個物件都有機會處理請求,從而避免請求的傳送者和接收者之間的耦合關係。將這些物件連成一條鏈,並沿著這條鏈傳遞請求,直到有乙個物件處理它為止。舉個例子。你到銀行去辦理業務,只是簡單的存個錢,也許atm就解決你的問題。如果你是為了交費...