重構 下機 職責鏈模式

2021-08-20 12:47:56 字數 1146 閱讀 2162

使用者下機,進行金錢和時間的計算,需要進行多重判斷

在責任鏈模式裡,很多物件由每乙個物件對其下家的引用而連線起來形成一條鏈。請求在這個鏈上傳遞,直到鏈上的某乙個物件決定處理此請求。發出這個請求的客戶端並不知道鏈上的哪乙個物件最終處理這個請求,這使得系統可以在不影響客戶端的情況下動態地重新組織和分配責任。

用我的話說就是,有乙個任務,分給一部分任務處理者,但是每個任務處理者都有屬於自己的處理模組,但是如何進行任務分配呢?那就用到了職責鏈模式,通過逐級的判斷,進行動態的任務分配,從而實現相應的效果!

//抽象處理者

public

abstract

class manager

//定義抽象方法

public

abstract online getcash(online online);

}

//具體事物處理者

public

class managerone : manager

else

return online;}}

public

class managertwo : manager

else

if (y > 0 && y < online.increasetime)

}else

else

if (y > 0 && y < online.increasetime)}}

}}

介面層**

//例項化事物處理者

bll.zzl

.managerone zzl1 = new bll.zzl

.managerone();

bll.zzl

.managertwo zzl2 = new bll.zzl

.managertwo();

entity.online online = new entity.online();

public entity .online count(entity . online line)

在u層,我們需要做的就是例項化外觀層,通過資料庫調取出下機所需的資料,付給實體,進行處理,在這裡就不給大家展示了!

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

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

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

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

機房重構 下機 職責鏈模式 策略模式(理論篇)

第一次機房收費系統的時候,我們側重於功能的實現,對於大範圍的使用if.else,沒有太明顯的感覺。可當我們學完設計模式之後,才發現原來多次使用if.else,會使程式產生很高的耦合性,不便修改。對於同樣的下機內容,我們除了要用到七層的知識,可能最大的收穫就是去學習如何把設計模式運用到實踐中去了。1 ...