當一個對象的構造過程比較複雜,或者需要介入到具體的構造過程,比如構造的順序或者構造的部件選擇(有些不需要全部部件都完全初始化)等;可以考慮使用建造者模式;
建造者模式和工廠模式的區別是:建造者模式關心構建過程,代碼體現是調用多個具體的屬性初始化方法,最後返回初始化好的對象;而工廠模式一般不關係對象的具體創建過程,代碼體現一般都是直接new一個產品對象;另外如果一個對象屬性較多,且使用的時候不一定全部需要初始化,一般要用建造者模式,可以有選擇的構建對象;
UML類圖如下:
當一個對象的構造過程比較複雜,或者需要介入到具體的構造過程,比如構造的順序或者構造的部件選擇(有些不需要全部部件都完全初始化)等;可以考慮使用建造者模式;
建造者模式和工廠模式的區別是:建造者模式關心構建過程,代碼體現是調用多個具體的屬性初始化方法,最後返回初始化好的對象;而工廠模式一般不關係對象的具體創建過程,代碼體現一般都是直接new一個產品對象;另外如果一個對象屬性較多,且使用的時候不一定全部需要初始化,一般要用建造者模式,可以有選擇的構建對象;
UML類圖如下: