秒懂設計模式(一) Builder模式

2021-07-15 10:18:30 字數 1367 閱讀 7800

該設計模式系列為閱讀《android原始碼設計模式解析與實戰》一書過程中的一些筆記,以及個人的理解。只是想把設計模式理解的更加透徹,說的更加簡單。當然,說的好,不如做的好。學習後,也要盡量學會在專案中實戰。設計模式,不是把一件事情弄的更複雜,而是弄的更加簡單。我認為,這是設計模式好壞的標準。有許多理解不到位的地方,望朋友們多多指教。

將乙個複雜物件的構造過程分離,使得同樣的構造過程可以建立不同的表示;

***就像同樣是一場考試,考試是乙個過程,全班55個人做會交出55張不同的考卷,秒懂了吧!

// 考卷 抽象類 角色 product

abstract class examination*****

//作答填空題

public void settiankong(string tiankonganswer)

//作答作文題

public abstract void setzuowent();

}// 小明的考卷 考卷的實體類

class xiaoming'***** extends examination*****

}// 55個同學 抽象builder

abstract class examinationbuilder

// 小明這位同學 實體

class xiaomingbuilder extends examinationbuilder

public xiaomingbuilder tiankongbuilder(string tiankonganswer)

public xiaomingbuilder zuowenbuilder()

public examination***** examination***** create()

}// main

class main

}

這個適用於「產品」這類物件的建立,有上面可知,假如我們將考卷作為一種產品,首先考卷是實現把題目出好了的,不同的學生拿到的考卷是一樣的。所以,我們把這些抽象出來。但是呢?真正考試給不同的學生做的時候就會有不同的結果;所以,每個不同的學生會對「考卷」這款產品進行一次深加工,我們建立起不同的產品模型;

同樣,作為對產品深加工的同學們都會要幹同樣的事情,就是給每個題目作答,然後交出試卷。我們首先,把要做題的這一群同學抽象出來。再給每個同學寫乙個實現體。這樣我們做捲開始啦,首先new乙個人,然後讓這個同學輸入答案就好。

我們可以從工業生產的角度出發,那麼builder模式我們可以把它認為是乙個手工作坊,或者說就是一種個性化定製工廠。原料是一致的,通過加工,我麼能夠得到不同使用者個性定製化的產品。比如文化衫,我們可以把空白的文化衫抽離出來,

並面對不同個性化的要求產出不同的產品。記住,文化衫是我們的product,而使用者是我們的builder。

Android設計模式之Builder模式

設計模式是我們在平時程式設計的過程中對一些常見的問題場景總結出來的最優程式設計套路,按照設計模式的思想,我們在程式設計的過程中遇到類似的問題時可以快速的套用對應的設計模式,從而高效的解決問題。在平時的開發過程中,我們也經常接觸到各種設計模式,甚至我們自己寫的 也會不自覺的使用到設計模式,只是可能叫不...

Builder設計模式

builder設計模式一般會採用鏈式程式設計結構 案例分析?構建一台電腦 記憶體 cpu 顯示卡等等 記憶體 r am 執行記憶體 和 rom 非執行記憶體 分為了一些角色 builder 抽象類 規範產品組裝 案例中builder介面 concratebuilder 具體組裝產品類 案例macbo...

Builder設計模式

當乙個類需要過載多個構造方法時,並且引數隨機使用時,builder模式就出現了。官方說法 將乙個複雜的物件的構建與他的表示相分離,使用者可以一步一步構建乙個比較複雜的物件。自己理解 先通過某種方式取得構造物件所需要的所有引數,再通過這些引數一次性構建這個物件。實現如下 package com.dem...