GOF 設計模式 builder模式筆記

2021-10-23 13:12:57 字數 1242 閱讀 8502

意圖:將乙個複雜物件的構建與它的表示相分離,使得同樣的構建過程可以建立不同的表示。

在以下情況使用builder模式

結構圖

builder模式更注重與乙個複雜物件的建立,像組裝一樣,一層一層,乙個模組乙個模組的裝配,是乙個由簡單物件到複雜物件的過程。

假設現在去**請人組裝機子,一台好的(goodcomputer),一台差的(badcomputer)

direct 導向器就像**商家,你給他**(good or bad builder)訂單,剩下的準備材料和組裝過程你就沒必要知道了,只要下單就行,然後根據訂單收貨。

computer(省略get set)

public  class computer 

}

bad**

public class badbuilder extends computerbuilder 

public computer getcomputer()

}

good**

public class goodbuilder extends computerbuilder 

public computer getcomputer()

}

director 導向器,執行builder的組裝

public class computerdirector 

}

client

public class client 

}

構造引數過多時可以用builder構造

computer

public  class computer 

@override

public string tostring() ';

}static class builder

public builder keyboard(string keyboard)

public builder mouse(string mouse)

public computer builder()}}

public class client 

}

Android設計模式之Builder模式

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

Builder設計模式

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

Builder設計模式

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