我正在生成一個Step
對象的序列,它們根據「Type」和其中包含的數據而不同。例如:工廠方法在這裏適合嗎?
的Step
對象應主要是結構看起來像這樣
{ GRAB, CASCADE_ONE, FACEUP, SOMEOTHERDATA },
{ DROP, DECK, FACEDOWN, MOREDATA, ANDSOMEMORE },
{ MOVE, 34, 89 },
其中GRAB
,MOVE
和DROP
表明StepType
:
typedef enum
{
GRAB,
DROP,
MOVE
}StepType;
正如你所看到的,這取決於StepType
,這些每個結構在StepType
之後都有可變數量的數據字段。
我計劃迭代這些結構的序列,並根據StepType
字段執行特定操作。我的第一個直覺是這些應該是從抽象的Step
類派生的類的對象 - 即我應該創建一個GrabStep
類,MoveStep
類和DropStep
類。
這是一個很好的設計,如果是的話,我應該使用工廠方法創建它們?如果工廠方法是要走的路,那麼如何初始化對象內的字段?
我不太瞭解工廠方法與您的問題有什麼關係。 – ereOn 2010-07-12 08:21:43