設計模式-責任鏈模式、策略模式

責任鏈模式

Chain of Responsibility(職責鏈)—對象行為型模式定義:使多個對象都有機會處理請求,從而避免了請求的發送者和接受者之間的耦合關系。將這些對象連成一條鏈,并沿著這條鏈傳遞該請求,直到有對象處理它為止。

gateway服務zuul框架中的filter使用的責任鏈模式

設計原則:

? 遵循迪米特法則(最少知識原則)? 單一職責? 開閉原則

適用場景分析:

1.需要將請求和處理分開。請求者可以不用知道是誰處理的,處理者可以不用知道請求的全貌,兩者解耦,提高系統的靈活性。

策略模式

Strategy(策略)—對象行為型模式定義:定義個策略接口,不同的實現類提供不同的具體策略算法, 同時它們之間可以互相替換。
?


IStrategy 接口定義了策略方法,Strategy1 和 Strategy2 通過實現 IStrategy 提供不同的策略,而 User 組合了 IStrategy ,可以通過給 User 對象設置不同具體實現類來讓其獲得不同的策略
設計原則:
? 遵循單一職責
? 依賴倒置
? 迪米特
? 開閉原則
適用場景分析:
1.算法需要自由切換場景。實時性較高的業務,無法確定邏輯持續時間,策略模式是較優的選擇。
2.旅游出行方式、plan計劃(planA、planB)。
?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/87673.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/87673.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/87673.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

泛微e-cology remarkOperate遠程命令執行漏洞

【高危】泛微e-cology remarkOperate遠程命令執行漏洞 漏洞描述 泛微e-cology是泛微公司開發的協同管理應用平臺。 受影響版本中,接口 /api/workflow/reqform/remarkOperate 存在 SQL 注入漏洞,multipart 類型參數 requestid 直接拼接進 SQL 語句&…

Redis常用操作

1:redis常用操作: package com.shunaier.hhhh.biz.utils;import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.shunaier.hhhh.common.enums.SystemErrorEnum; import com.shunaier.hhhh.common.exception.SNEB…

mybatis-plus-01-環境初始化及簡單應用

文章目錄 【README】【1】springboot集成mybatis-plus配置【1.1】目錄結構【相關說明】 【1.2】代碼示例【pom.xml】【application.properties】【MybatisPlusNoteController】【UserAppService】【UserMapper】【UserPO】【建表語句】 【2】演示 【README】 本文代碼參見&…

VR小鼠解剖虛擬仿真:開啟生命科學教育新視野?

VR 小鼠解剖虛擬仿真,是一項將虛擬現實(VR)技術深度融入小鼠解剖學習與研究過程的創新應用,即 VR 小鼠解剖虛擬仿真。其核心原理在于,借助 VR 技術所構建的高度逼真的虛擬環境,突破了傳統小鼠解剖在時間、空間以及實體操作上的諸多…

計算機網絡(網頁顯示過程,TCP三次握手,HTTP1.0,1.1,2.0,3.0,JWT cookie)

前言 最近一直在后端開發的面經🙌,里面涉及到了好多計算機網絡的知識😁,在這里以問題的形式寫一個學習筆記(其中參考了: JavaGuide 和 小林coding 這兩個很好的學習網站😘) 1.當鍵入網址后&am…

Redis 消息的發布和訂閱

Redis 消息的發布和訂閱 1、什么是發布和訂閱 Redis 發布訂閱 (pub/sub) 是一種消息通信模式:發送者 (pub) 發送消息,訂閱者 (sub) 接收消息。 Redis 客戶端可以訂閱任意數量的頻道。 2、Redis的發布和訂閱示意 1、客戶端可以訂閱頻道如下圖 2、當…

python優先隊列使用

heapq 是 Python 的一個內置模塊,提供了堆隊列算法的實現,也稱為優先隊列算法。以下是關于 heapq 模塊的詳細使用說明。 基本概念 堆:一種特殊的二叉樹結構,滿足父節點總是小于或等于其子節點(最小堆)特性…

在 Windows 機器上安裝和配置 RabbitMQ

RabbitMQ 它是一款基于 AMQP(高級消息隊列協議)的流行消息代理。RabbitMQ 適用于 Windows、Linux 和 macOS,易于安裝和使用,并提供一系列強大的消息隊列和路由功能。要在 Windows 計算機上使用 RabbitMQ,您必須先安裝 …

第十五節:第六部分:日志技術:logback的核心配置文件詳解、日志級別

核心配置文件logback.xml 什么是日志級別,為什么要學日志級別

從入門到精通:數據庫全攻略

目錄一、數據庫基礎概念1.1 數據庫定義1.2 數據庫與文件系統的區別1.3 數據庫系統組成部分1.4 關系型數據庫與非關系型數據庫二、數據庫安裝與配置2.1 下載 MySQL2.2 安裝 MySQL2.3 初始化數據庫服務器2.4 啟動和停止 MySQL 服務2.5 登錄 MySQL2.6 創建數據庫2.7 創建數據表三、…

【JAVA】消息隊列(MQ)是個好東西

一、前言再JAVA系統開發中,再高并發的場景經常需要使用到消息隊列,有時候是不得不使用到消息對了。特別是大數據量的并發處理。對數據實時性要求又沒那么高的情況下。用戶請求 → 接入層(Nginx) → 限流 → 消息隊列 → 訂單服務 → 庫存服務 → 支付服務…

【Golang面試題】Go結構體的特點,與其它語言的區別

Go 結構體深度解析:與 C/C、Java 的全面對比 一、核心概念對比特性Go 結構體 (struct)C/C 結構體 (struct)Java 類 (class)本質值類型復合數據類型值類型復合數據類型引用類型內存分配棧或堆 (編譯器決定)棧 (顯式控制)堆 (JVM管理)默認訪問權限首字母大寫導出publi…

CppCon 2018 學習:OOP is dead, long live Data-oriented design

探討了面向對象編程(OOP)的一些根本性問題深入理解: 標題:What is so wrong with OOP? 什么是面向對象的問題? 這不是說 OOP “絕對錯誤”,而是指出它在實踐中經常引發的問題,尤其是在性能敏…

科學的第五范式:人工智能如何重塑發現之疆

在人類探索未知的壯闊史詩中,科學方法的演進如同照亮迷霧的燈塔。從基于經驗的第一范式(描述自然現象),到以理論推演為核心的第二范式(牛頓定律、麥克斯韋方程),再到以計算機模擬為標志的第三范…

tmux 左下角會話名顯示不全的解決方法

在 tmux 中顯示完整的會話名 有時候我們要在服務器上長時間跑某個任務,但不可能時時刻刻保持終端模擬器開啟,這時候就需要用到 tmux ,可以在關閉會話的同時讓任務繼續在后臺跑,后續還可以連回來。但在 tmux 會話中,左…

【期末分布式】分布式的期末考試資料大題整理

🧸安清h:個人主頁 🎥個人專欄:【Spring篇】【計算機網絡】【Mybatis篇】 🎯大題 ?一.Nacos的服務注冊與發現 🚦1.怎么來進行服務的注冊與發現的這樣的一個流程,描述一下。 🎃描述…

Android手機無網離線使用FunASR識別麥克風語音內容

手機斷網離線使用FunASR識別麥克風語音內容 --本地AI電話機器人 上一篇:阿里FunASR本地斷網離線識別模型簡析 下一篇:手機無網離線使用FunASR識別手機歷史通話錄音 一、前言 繼上一篇《阿里FunASR本地斷網離線識別模型簡析》和前面幾篇ASR相關理論的…

Stable Diffusion 項目實戰落地:從0到1 掌握ControlNet 第五篇 線稿到高清修復:一步步教你用AI做出完美IP形象

大家好!上一篇,我們一起玩轉了字體風格變換 ,讓文字根據提示詞進行自如變換,個性十足又充滿創意! 如果你錯過了那篇文章,別擔心,趕緊點這里補課:Stable Diffusion 項目實戰落地:從0到1 掌握ControlNet 第四篇 風格化字體大揭秘:從線稿到涂鴉,ControlNet讓文字煥發新生…

Java網絡編程:TCP/UDP套接字通信詳解

TCP客戶端套接字創建與使用 Socket類基礎概念 Socket類的對象代表TCP客戶端套接字,用于與TCP服務器套接字進行通信。與服務器端通過accept()方法獲取Socket對象不同,客戶端需要主動執行三個關鍵步驟:創建套接字、綁定地址和建立連接。 客戶端…

VMware vSphere 9與ESXi 9正式發布:云原生與AI驅動的虛擬化平臺革新

2025年6月18日,VMware正式推出其旗艦虛擬化平臺vSphere 9及配套的ESXi 9操作系統,標志著企業級虛擬化技術邁入以云原生、人工智能(AI)和硬件加速為核心的新紀元。此次更新不僅在功能層面實現突破,更通過授權模式革新為…