2010-03-28 30 views
2

我有一個小的設計危機的專業廠家,我想提出一個平面類,它是由工廠模式 - 做的時候,你說你需要

發動機

2翅膀

和N個座位

發動機採用發動機尺寸,並且機翼具有跨度。

會,這仍然是可行的,有一個PlaneFactory在出廠時可能不得不採取在多個參數來設置面(機翼,發動機,沒有座位)

在此先感謝

骨頭

回答

4

如果你的平面物體變成一個複雜的問題,你可以使用builder design pattern通過部分

創建對象的一部分,你可以很容易地適用於你的問題在維基百科中發現了著名的比薩例如,b- uilder類將有方法建立翅膀,建立引擎....最後getplane()。 您可以擁有不同的構建器類來實現抽象構建器類,每個構建器創建一個不同的平面(使用不同的組件)。

+0

謝謝,那看起來好多了 – dbones 2010-03-28 23:10:40

1

這完全取決於您確切需要什麼,您可以使用更多設計模式。工廠方法對於複雜創建來說是一個好主意,這實際上是模式的要點。如果你想逐漸建造飛機,尤其是在整架飛機完成之前你需要使用飛機的某些部件(例如,你不需要機翼出售座位的票):)...)比建設者模式真的是你需要的。它也可能發生,你創造了許多飛機,它們都有許多翅膀和座位,它們是相同的(例如,你有三種標準類型的發動機),比你可以使用飛模式,所以每架飛機都有相同類型的機翼將使用完全相同的翅膀(完全不現實:)......)。也可能會發生這樣的情況:爲飛機創建控制面板需要很多工作,可以事先完成,而不僅僅是複製 - 即原型模式。我認爲這些是最有可能需要的,對於更具體的激怒者,你應該提供更多關於你需要的信息。

相關問題