6
爲什麼我們不能在構造函數本身中使用不同的構建步驟。 如果構建步驟需要參數,爲什麼不能將它們作爲參數提供給構造函數,並在構造函數中用於創建對象。爲什麼Builder模式比在構造類的對象中創建的構造函數更好?
AFAIK,在Builder模式下,創建特定對象的客戶端;那麼使用構建器而不是構造器來創建Class對象中的參數有什麼好處?
爲什麼我們不能在構造函數本身中使用不同的構建步驟。 如果構建步驟需要參數,爲什麼不能將它們作爲參數提供給構造函數,並在構造函數中用於創建對象。爲什麼Builder模式比在構造類的對象中創建的構造函數更好?
AFAIK,在Builder模式下,創建特定對象的客戶端;那麼使用構建器而不是構造器來創建Class對象中的參數有什麼好處?
哦!我知道了。我在看維基百科的例子,並意識到爲什麼Builder會有所幫助。當客戶端不知道傳遞給構造函數的參數是非常有用的,因爲它非常複雜,因此不能直接調用構造函數並獲取對象。因此,他向Concrete Builders尋求幫助,他們知道將哪些論據傳遞給施工人員,從而獲得創建的對象。
基本上,如果客戶端主要是將參數傳遞給創建對象的類的構造函數,那麼Builder並不是那麼有用。使用原型可能會更好。另一方面,如果通過將參數傳遞給構造函數(或調用setter)給該類並且如果它們是那些經常使用的特定對象可以從該類創建一小組有限的特定對象,那麼它會更好來封裝這個參數,在Builder類中傳遞thingy並使用它們爲你創建對象。