本系列文章均是博主原創,意在記錄學習上的知識,同時一起分享學習心得。
24種設計模式
本節介紹建造者模式的概念、使用場景、實現方式。
建造者模式是讓建造類來負責物件的建立工作。它通常以builder作為命名的結尾,我們可以吧校驗邏輯放置在builder類中,先建立建造者類,並且通過set方法設定建造者的變數值,然後在使用builder()方法真正建立物件之前,先做集中的邏輯校驗,校驗通過後才會建立物件。
與工廠模式的區別:
建造者模式:用來建立一種型別複雜的物件,通過設定不同的可選引數,「定製化」地建立不同的物件。
如果乙個類中有很多屬性,為了避免建構函式的引數列表過長,影響**的可讀性和易用性,我們可以通過建構函式配合set方法來解決,但是存在以下任一情況,就要考慮使用建造者模式:
**如下(示例):
實際上,我們也不用太學院派,非得把工廠模式、建造者模式分得那麼清楚,我們需要知道的是,每個模式為什麼要這麼設計,能解決什麼問題。只有了解了這些最本質的東西,我們才能不生搬硬套,才能靈活應用,甚至可以混用各種模式創造出新的模式,來解決特點場景的問題。
建造者模式
1.定義 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。2.uml 類圖 結構 該結構 演示了複雜物件被一步一步建立的建造者模式。builder pattern structural example using system using system.collection...
建造者模式
軟體領域中的設計模式為開發人員提供了一種使用專家設計經驗的有效途徑。設計模式中運用了物件導向程式設計語言的重要特性 封裝 繼承 多型,真正領悟設計模式的精髓是可能乙個漫長的過程,需要大量實踐經驗的積累。最近看設計模式的書,對於每個模式,用c 寫了個小例子,加深一下理解。主要參考 大話設計模式 和 設...
建造者模式
建造者模式將複雜物件的構建和它的表示分離,使同樣的構建過程能夠構建出不同的表示。以乙個建造小人為例子,可以建造2種小人,胖子和瘦子 include using namespace std class builder 抽象建造者類 class buildthinman public builder 瘦...