機房重構 職責鏈模式應用

2021-08-25 22:53:31 字數 623 閱讀 5464

我是在上機許可權選擇中使用了職責鏈模式。

首先來了解一下職責鏈模式:使多個物件都有機會處理請求,從而避免請求的傳送者和接收者之間的耦合關係。將這個物件連成一條鏈,並沿著這條鏈傳遞該請求,直到有乙個物件處理它為止。

在機房收費系統裡,登入使用者的級別相當於請求,處理者是一般使用者許可權(一般使用者處理者),一般使用者和操作員許可權(操作員處理者),一般使用者和操作員和管理員許可權(管理員處理者)。根據使用者級別,選擇處理者。

**實現:

客戶端**:

若是再多加乙個級別,多加乙個類,並給這個類權利。客戶端只管指向後繼者,不需要時刻保持所有候選者的引用,降低了耦合。同時也增強了增加不用級別使用者的靈活性。

C 機房重構 職責鏈模式

前言 前陣子拖著沒弄完的機房重構這次重新完善,發現有一些設計模式並沒有體現出來,所以今天加了乙個職責鏈模式 機房重構中,上機的過程需要經過諸多判斷,因此這個過程使用職責鏈模式是完全可以的。首先建立職責鏈專案,新建引用 entity idal dal,僅供參考 建立以下類 handler類是乙個抽象類...

C 機房重構 下機(職責鏈模式)

職責鏈模式 職責鏈 當客戶提交乙個請求時,請求是沿著鏈傳遞,直至有乙個concretehandler物件負責處理,接收者和傳送者都滅有對方的明確資訊,且鏈中的物件自己也並不知道鏈的結構,僅需保持乙個指向其後繼者的引用。具體實現 在機房重構中職責鏈主要用於確定學生的消費時間,以下為具體的實現 抽象類p...

C 機房重構 下機之職責鏈模式

前言 說到設計模式,又熟悉又陌生,為什麼這麼說呢?熟悉是因為學過設計模式,明白了當時學習的例子 陌生是因為放到重構不會用,參考了很多部落格,才知道如何用這個職責鏈模式。內容 bll層 沒有設計準備時間,上機滿一分鐘即收費。public class chainbll public decimal co...