我有以下健康俱樂部的場景(用C++編寫BTW):單個或多個抽象工廠用於在繼承層次結構中創建對象?
我要創建隨機客戶和培訓師的對象(所以這兩個國家都隨機生成的名稱,但客人也具有隨機健康數據)。
我希望能夠製造出許多不同複雜度的隨機生成器。
很明顯,兩者都需要隨機的forename/surname生成器功能 - 但我不確定如何將這些代碼保存在一個地方。
我可以有一個所有生成方法(例如,generateForename())的抽象工廠,所有需要隨機生成的對象都可以使用。但是,培訓師是否應該訪問可以生成健康數據的工廠,即使這與它們無關?
我還考慮過爲每個班級設立一個抽象工廠 - 一個用於一個人,一個用於客戶,一個用於訪客,並且有對象通過將合適的工廠傳給他們來生成超類,但這聽起來過於複雜。
我對此很新,所以原諒我,如果我的設計有點偏離。
你們有什麼建議?
抽象工廠是一個抽象類的家庭,所以也許一個就足夠了。請參閱:http://en.wikipedia.org/wiki/Abstract_factory_pattern – 2013-02-27 23:29:33