JS設計模式 外觀模式

2021-10-02 03:37:56 字數 891 閱讀 5992

外觀(facade)模式是屬於結構型模式,通過提供外觀的包裝隱藏系統的複雜性。

火箭發射系統很複雜,但真正使用它的人,可能就需要乙個按鈕,讓它發射就好。那麼發射按鈕就隱藏了啟動程式及發射系統的複雜性。

我們用的各種第三方庫,大多也是通過給使用者提供 api 來簡化和隱藏內部的複雜實現。

class

paycode

pay(args)

) console.

log($元`

)}if(args.alipay)

) console.

log(

`支付寶到賬$元`

)}}getrecord()

getsum()

元`)}}

// 使用

const paycode =

newpaycode()

// 掃碼記賬

paycode.

pay(

)paycode.

pay(

)paycode.

pay(

)paycode.

pay(

)// 賬本輸出

paycode.

getrecord()

// 計算總收入

paycode.

getsum

()

輸出結果

優點:隱藏了系統內部複雜的實現細節,提高了可用性和安全性。

缺點:對細節的抽象是以效能為代價的,畢竟直接掃碼更快。大規模使用要考慮隱性成本。

在使用時,我們需要考慮利弊,把握抽象程度。

js設計模式 外觀設計模式

外部與乙個子系統的通訊必須通過乙個統一的門面 facade 物件進行,這就是門面模式。外觀模式為子系統提供了統一的介面,遮蔽了子類的不同 現代大型軟體發展到一定程度會非常複雜,於是就需要對軟體進行模組化開發,將系統分成各個模組,有利於維護和拓展,但即使這樣在我們呼叫的時候依然要和許多類打交道,依然很...

設計模式 外觀模式

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

設計模式 外觀模式

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