簡體   English   中英

生成器與立面設計模式

[英]Builder vs Facade design pattern

我遇到了不同的創作和結構設計模式。

在構建器中,它分為三個部分,主管將決定執行順序。

當我瀏覽外觀模式時,它也遵循相同的方法,即動作的順序。

那么這兩種模式有什么區別? 當Facade模式也指對象的創建和執行順序時,它如何屬於結構設計模式?

嗯,根據dofactory ,Facade是:

為子系統中的一組接口提供統一的接口。 Façade定義了更高級別的界面,使子系統更易於使用

和生成器:

將復雜對象的構造與其表示分開,以便同一構造過程可以創建不同的表示。

因此,從描述中可以很明顯地看出Facade模式沒有提供構造新對象的方法。 Facade是簡化的高級界面,可用於訪問一組子界面。 Builder描述了一種創建對象的方法。 例如, StringBuilder類的唯一目的是提供一種創建新字符串的有效方法(是的,它基於Builder模式)。

外觀只是簡化對象模型中的調用的一種方式,因此您不必每次要執行一組操作時都編寫大量代碼。 例如,您可能編寫了一個Facade來簡化某些事情,該東西必須調用多個對象和方法才能執行任務。

有關更多信息: 請參閱答案

生成器只是一種用於簡化一個類或一組類的構造邏輯的外觀。 它的目的通常是提供一組清晰的方法,以使您清楚如何構造目標對象,並使結構流暢。

builder.WithFirstName("John").WithLastName("Smith").WithStandardCompanyAddress().Build();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM