設計模式 外觀模式

2021-10-07 08:10:47 字數 1432 閱讀 2312

畫皮畫虎難畫骨,知人知面不知心

相同的外觀下,蘊含豐富的內涵,甚至迥異的操作,這就是外觀模式。

前面我們實現的幾種模式,常說的有一點,保證外部api的單調性。

外觀模式就是這樣的東西,或者換一種說法:面向介面程式設計

當我專注於流程和組織的時候,使用介面構建出純粹的抽象業務,此時,我可以說我的工作完成了。

因為業務流程的確如此,但是涉及到不同的細節場景,每種的具體處理有時候天差地別。

讓每個業務線的人員自行去進行填充實現就好了。

著名的slf4j,本身就是個空殼子,如果不引入具體實現的包,真的用不了。

keras也是,雖然被冠以框架之名,但是更多的精力是定義了各種框架的介面標準,底層具體實現還是需要對接其他框架。

不得不說,對於非關注點,我們的確只需要乙個統一的簡單的方式互動,能使用就行。

這樣就能夠更快的解決問題,去開發產品。

必定需要這麼乙個東西,去能夠包容差異,又能夠統一互動,這就是外觀模式。

現在可以稍微修飾一下前面的敘述,豐富的內涵是必須的,但是不應該迥異。

public

inte***ce

loggerinte***ce

@component

public

class

logge***ctory;}

@autowired

public

void

setloggerinte***ce

(loggerinte***ce loggerinte***ce)

}

@component

public

class

errorlogger

implements

loggerinte***ce

}

public

class

entrance

}

你可以換列印方法,甚至直接輸入到資料庫,redismysql都隨意,但是我的最外面的呼叫方式是不變的。

這裡也凸顯了外觀模式的另乙個極大的作用,那就是在不用修改**的情況下完成邏輯更新。

設計模式之間並沒有明確的界限,之間的區別都只是在各自領域內的差異,甚至於微小而不可見。

相同方式,多個物件

相同方式,多種處理

相同方式,多種實現

諸多設計模式看起來都有巧立名目之嫌,但是核心思想總是不變的。

模板方法也是一樣的套路,嗯,慢慢遍歷吧。

設計模式 外觀模式

外觀模式,我的理解就是將複雜的類進行重新封裝,將簡單的介面呈現出來,降低呼叫端和實際類的耦合性。拿 大話設計模式 上邊關於 和 的例子來說。對於不入門的股民來說,交易有些過於龐大,需要學習的東西很多,如果沒整明白就進行投資,很容易賠錢的。很多剛入 的股民都賠的很慘。而買 有提出了乙個新的觀念,我們買...

設計模式 外觀模式

何為外觀模式?外觀模式 為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得一子系統更加容易使用。它是一種結構型模式,它主要解決的問題是 元件的客戶和元件中各種複雜的子系統有了過多的耦合,隨著外部客戶程式和 各子系統的演化,這種過多的耦合面臨很多變化的挑戰。uml類圖 乙個...

設計模式 外觀模式

外觀模式說白了就是為一組介面提供乙個一致的介面。例如 定義三個類a b c,每個類各定義乙個方法。class a pubic void showa cout a showa pubic void showb cout b showb pubic void showc cout c showc 定義乙...