chain-of-responsibility

    0熱度

    1回答

    我有一組上的業務邏輯驗證的要求: 驗證的每個獨立步驟必須分開; 這些步驟的順序可以由管理員定義; 可以禁用步驟。 每個驗證步驟不是用戶定義的 - 即代碼是編譯的。 所以我想實現一個動態的責任鏈,它會從表中載入步驟順序和類名,用Class.forName()實例化它們。但我不喜歡將className存儲在表中,因爲這可能會導致潛在的問題(重構驗證器的名稱,例如,會簡單地破壞代碼)。這是我做的: 當然

    0熱度

    1回答

    我與命名空間,類,繼承和使用JavaScript的責任鏈模式工作的JavaScript鏈,但它不工作 - 我已經試過以下this tutorial,但是當我嘗試要實現一個名稱空間和超級構造函數,它不起作用,所以我假設我錯過了一些東西。 我在不同的文件中的類,我用的是相同的命名空間。我有一個類,Constraint.js: var Namespace = Namespace || {}; //p

    9熱度

    2回答

    考慮你有幾個驗證。如果要檢查的對象屬於某種類型,那麼這些驗證只應生效。爲什麼我會使用switch語句的責任鏈?與責任的 public class Executor { @Inject private ValidatorFactory validatorFactory; public void execute(Konfiguration konfig) { List<Statem

    2熱度

    1回答

    我想通過搜索Servicer類字符串中的字符/字符串來演示責任鏈模式的使用。代碼運行但Servicer1 ServiceReq未調用Servicer2 ServiceReq。如果我用「g」運行這個,我只會得到「Checked Servicer1」,但我應該得到「Checked Servicer1」「」在Servicer 2中找到請求「。 MainApp.cs namespace ChainOfR

    0熱度

    1回答

    我有一個創建文本文件處理策略的引擎。這些文件採用各種格式,引擎通過將文件傳遞給一系列策略來選擇適當的策略,直到其中一個策略聲明它可以解析它。 這不是經典的戰略模式。它與服務定位器模式和責任鏈模式有些相似,並可能包含其中的任何方面。 剝離下來,它看起來有點像這樣,儘管它目前與注射創建: public class EngineImpl { private Set<Strat> str

    1熱度

    1回答

    我看到一個教程視頻解釋責任鏈設計模式,我想我明白它是如何工作的,但我不確定何時會真正使用它。責任鏈的一些常見用法是什麼?

    5熱度

    1回答

    我正在探索python中的不同概念,並且偶然發現了一個可用於責任設計模式鏈的協程的例子。我寫了下面的代碼: from functools import wraps def coroutine(function): @wraps(function) def wrapper(*args, **kwargs): generator = function(*args,

    0熱度

    2回答

    我在學習設計模式以在代碼中實現它,我想我找到了一個我認爲可以工作但存在一個主要缺陷的設計模式。 我結束的模式是職責鏈模式。根據我的理解,有一個請求傳遞給一個處理程序,它將處理請求或將其傳遞給鏈。 我看到的唯一一個結果是它指定一旦處理程序處理了,處理就停止。我想要一些能夠持續發展的東西,並給予每個處理程序處理請求的機會。 問題陳述 我創建它會發送發票到公司的應用程序,我想知道是誰所有的都看了看發票,

    2熱度

    2回答

    因此,當我是一名電工和程序員時,我認爲我非常瞭解FSM設計模式。它是: 我們已經設置了一個Nodes, 每個Node知道,做什麼,什麼時候計劃是在這個節點上, 每個Nodecontains references to another chosen nodes,什麼條件下都知道,他應該繼續被選中的人。 在event或after processing節點,Node proceeds下一個選擇的節點 我

    0熱度

    2回答

    我有一個過濾器列表。每個過濾器都有不同的責任並接受各種輸入參數。接口看起來是這樣的: void doFilter(Context context); 和我一起運行它: void main(){ context.setA(input_for_filter_a); context.setB(input_for_filter_b); context.setC(input