所以我不確定這是不是合法的工廠。大多數工廠的我看到有這樣的事情在客戶端:創建一個c#工廠
if(//something)
factory = new Type1Factory();
else
factory = new RegularFactory();
然後他們通過去像factory.Create();
所以基本上的條件來檢查你想要哪個工廠創建對象是正確調用代碼。我寧願隱藏它,並在工廠中擁有自己的條件,我想這不會再被稱爲工廠了?
像這樣:
DateScheduleRequest request = new DateScheduleRequest();
DateScheduleBuilder dateScheduleBuilder = new DateScheduleBuilderFactory(request).Create();
而dateScheduleBuilder
對象將基本上是某種類型的依賴於發送到工廠構造方法的請求。
有沒有另外一種模式,或者這只是某種方式來做工廠?
基本上,DateScheduleBuilder
將是一大堆其他類型的構建器繼承的父類,但我的調用代碼知道這個抽象類有一個方法,並且它不需要知道請求類型,只是它需要將它傳遞給工廠並調用一種方法。
這聽起來完全正常,並且是根據四人幫 –