策略模式、責任鏈模式、狀態模式
1.策略模式,舉個例子,商場搞活動,滿多少返現多少,你只能選擇一種返現。有好多種返現活動,你只能選擇其中一項優惠活動。其實做的就是單選題目。
2.狀態模式,每一個狀態都知道下一個狀態是什麼,這是一個過程。你需要的就是設定一個開始的狀態,它自動的執行下去。
3.責任鏈模式。狀態模式其實是一種寫死的責任鏈模式,責任鏈模式明確知道下一個責任是誰,就可以寫死。當不知道的時候,就需要環境來設定。舉個例子,一個公司有外包的和正式員工,外包請假,直接者公司的負責人說一聲,就可以了,他在走外包公司的請假流程,而正式員工,就的按部就班的走公司的正規請假流程,都得讓上級批准。你請假申請組長統一,在申請專案經理同意,在申請總監同意,最後人力同意。這是一個基本員工的審批,如果你是專案監理,就需要總監和人力批准了。所以說,責任鏈的下一個責任人事不確定的,需要環境和條件來設定。這也是和狀態模式的區別。
總結:策略,多個選擇一個執行
狀態,會自動的流轉,
責任,是設定了才會鏈進行
相關推薦
java設計模式之責任鏈模式、狀態模式、策略模式
若您對我的分享感興趣可以訪問:java設計模式專欄在常用的23中設計模式中,有三種模式容易混淆,這三種模式分別是:責任鏈模式、狀態模式以及策略模式因此接下來我們把這三種模式放在一起討論1、責任鏈模式(okHttp)職責鏈的本質是:不同的類對同一個問題的反應 責任鏈模式下
策略模式、責任鏈模式、狀態模式
1.策略模式,舉個例子,商場搞活動,滿多少返現多少,你只能選擇一種返現。有好多種返現活動,你只能選擇其中一項優惠活動。其實做的就是單選題目。 2.狀態模式,每一個狀態都知道下一個狀態是什麼,這是一個過程。你需要的就是設定一個開始的狀態,它自動的執行下去。 3.責任鏈模式。狀態模式其實是一種寫
java設計模式之——策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、直譯器模式(行為型)【讀書筆記】
一、策略模式 定義:定義了演算法家族,分別封裝起來,讓他們之間可以互相替換,此模式讓演算法的變化,不會影響到演算法的客戶。 使用場景:策略模式是一種定義一系列演算法的方法,從概念上看,所有的這些演算法完成的都是相同的工作,只是實現不
設計模式-命令模式(行為)、責任鏈模式(行為)
tst 是否 return 執行 mman cpp lap 2.0 兩種 0 命令模式和責任鏈模式 命令模式和責任鏈模式是兩種完全相反的模式。 命令模式是需要將請求排隊處理。因此將請求封裝成對象放入隊列。 而責任鏈模式則是,可能同一對象需要多個函數只有一個函數能處理。或是多
java設計模式8.叠代子模式、責任鏈模式、命令模式
上傳 inf () inter args 如果 很多 java d參數 叠代子模式 叠代子模式可以順序地訪問一個聚集中的元素而不必暴露聚集的內部表象。它將叠代邏輯封裝到一個獨立的叠代子對象中,從而與聚集本身分開。叠代子對象是對遍歷的抽象化,不同的聚集對象可以提供相同的叠
Java設計模式之責任鏈模式、職責鏈模式
什麼是鏈1、鏈是一系列節點的集合。2.、鏈的各節點可靈活拆分再重組。職責鏈模式使多個物件都有機會處理請求,從而避免請求的傳送者和接受者之間的耦合關係,將這個物件連成一條鏈,並沿著這條鏈傳遞該請求,直到有一個物件處理他為止。角色抽象處理者角色(Handler):定義出一個處理請
八、責任鏈設計模式
1. 責任鏈模式介紹 使多個物件都有機會處理請求,從而避免了請求的傳送者和接收者之間的耦合關係。將這些物件連成一條鏈,並沿著這條鏈傳遞該請求,直到有物件處理它為止。 考慮到如下情景: 小李要出差,出差之後,小李要報銷經費,小李申請了50000塊的經費。
Java設計模式應用——責任鏈模式
調用 stat 事務 抽象類 pan 主動 需要 return 包含 生產一個產品,需要依次執行多個步驟,才能完成,那麽是使用責任鏈模式則是極好的。 在性能告警模塊開發過程中,創建一條告警規則需要執行閾值解析,中間表生成,流任務生成,規則入庫,告警事件入庫等諸多操作。如果把
設計模式之責任鏈模式
設計模式 責任鏈模式 chain of responsibility 1、責任鏈模式 chainOfResponsiblity : a、責任鏈模式屬於行為型模式,行為型模式關註系統中對象之間的相互交互,研究系統在運行時對象之間的相互通信和協作,進一步明確對象的職責,共有11中模式。 b
【設計模式】責任鏈模式
receive req evel 自己 缺點 結果 改革 == 引用 1、定義 1.1 標準定義 Avoid coupling the sender of a request to its receiver by giving more than one object a
【設計模式】 模式PK:觀察者模式VS責任鏈模式
ipa 隨機 保留 聲明 pri 測試 void c_str window 1、概述 為什麽要把觀察者模式和責任鏈模式放在一起對比呢?看起來這兩個模式沒有太多的相似性,真沒有嗎?回答是有。我們在觀察者模式中也提到了觸發鏈(也叫做觀察者鏈)的問題,一個具體的角色既可以是觀察者
設計模式之責任鏈模式 chainOfResp
span 設計 end days lap str spa pub none 後面我們將學習設計模式裏面的行為型模式 代碼實現 /** * 抽象類 * @author bzhx * 2017年3月14日 */ public abstract cla
Head First設計模式之責任鏈模式
sre apple ria tap 空調 href 一個 -o webkit 一、定義 避免請求發送者與接收者耦合在一起,讓多個對象都有可能接收請求,將這些對象連接成一條鏈,並且沿著這條鏈傳遞請求,直到有對象處理它為止。 主要解決:職責鏈上的處理者負責處理請求,
C#設計模式(21)——責任鏈模式
價格 針對 處理對象 ole override 人的 技術分享 images void 原文:C#設計模式(21)——責任鏈模式一、引言 在現實生活中,有很多請求並不是一個人說了就算的,例如面試時的工資,低於1萬的薪水可能技術經理就可以決定了,但是1萬~1萬5的薪水可
一天學習一個設計模式之責任鏈模式
null public 接收 req sta and new get main 1 責任鏈模式(chain of Responsibility):使多個對象都有機會處理請求,從而避免請求的發送者和接收者之間的耦合關系。將這個對象連成一條鏈,並沿著這條鏈傳遞請求,直到有一個
設計模式-行為型模式,責任鏈模式(10)
body getattr () lose IT elf default 行為型 dial 顧名思義,責任鏈模式(Chain of Responsibility Pattern)為請求創建了一個接收者對象的鏈。這種模式給予請求的類型,對請求的發送者和接收者進行解耦。這種類型的
9、C_鏈表 & 狀態機與多線程
ins 表頭 include 程序運行時間 urn header 碎片 null 現實 4.9.1.鏈表的引入 4.9.1.1、從數組的缺陷說起 數組有2個缺陷:一個是數組中所有元素的類型必須一致;第二個是數組的元素個數必須事先制定並且一旦指定之後不能更改。 如何
設計模式:責任鏈模式
web應用開發 軟件 ignore AS 對象 rec ons return 3D 責任鏈模式(ChainOfResponsibilityPattern)屬於 行為型模式的一種,將請求沿著一條鏈傳遞,直到該鏈上的某個對象處理它為止。概述 定義如下:一個請求有多個對象來處理,
JDK設計模式之——責任鏈
code bsp contain implement 輸出 pair err req 執行 責任鏈的設計模式可以參考Servlet的FilterChain。FilterChain中的每個Filter(過濾器)就像一個個的鏈條 接口Filter doFilter(Se
設計模式(24)-----責任鏈模式-----攔截器設計模式
谷歌 一,一個初步的責任鏈模式的攔截器 攔截器介面 package com.DesignPatterns.an.Responsibility1; public interface Filter { String doFilter(String str); }