行為型 命令模式 直譯器模式 中介模式

2021-10-25 18:56:28 字數 681 閱讀 3659

命令模式、直譯器模式、中介模式。這 3 個模式使用頻率低、理解難度大

命令模式

定義:命令模式將請求(命令)封裝為乙個物件,這樣可以使用不同的請求引數化其他物件(將不同請求依賴注入到其他物件)。

使用場景:

比如,非同步、延遲、排隊執行命令、撤銷重做命令、儲存命令、給命令記錄日誌

ps:和策略模式,工廠模式很像。要從使用場景來看區別。

該由兩部分組成:第一部分是應用場景,即這個模式可以解決哪類問題;第二部分是解決方案。

策略,工廠,命令差異。工廠注重建立,建立的未必是策略;策略可以替換,命令有不同目的,不能替換。

直譯器模式

定義:解釋表示式,用直譯器用來處理所有語法。

interpret(詮釋

; 說明

; 把…理解為

; 領會

; 口譯

;)中介模式

定義:義了中介物件,來封裝一組物件之間的互動。將一組物件之間的互動關係(或者依賴關係)從多對多(網狀關係)轉換為一對多(星狀關係)。

目的:

解構。

與觀察者模式的區別:

觀察者是單向的,中介雙方都是觀察者和被觀察者。

中介類似,觀察者模式的中間層,queue。

直譯器模式(行為型)

定義 給定乙個語言,定義它的文法的一種表示,並定義乙個直譯器,該直譯器使用該表示來解釋語言中的句子。結構 適用場景 uml類圖 下面就是直譯器模式的 實現 expression public inte ce expression nonterminalexpression public class ...

Java設計模式 行為型 直譯器模式

x是乙個變數,y也是乙個變數,x可以為任何值,y也可以為任何值。因此,每個變數都可以對應乙個具體的值,通過上下文可以承載這樣的對映關係。public class context 獲取變數值 public integer lookup variable variable 無論是變數還是表示式,都能獲得...

行為型設計模式 直譯器模式詳解

直譯器模式 interpreter pattern 提供了評估語言的語法或表示式的方式,它屬於行為型模式。這種模式實現了乙個表示式介面,該介面解釋乙個特定的上下文。給定乙個語言,定義它的文法表示,並定義乙個直譯器,這個直譯器使用該標識來解釋語言中的句子。該模式對於複雜的場景實現起來比較困難,實際應用...