2009-01-28 55 views
0

我們正在開發一個系統來跟蹤我們的現場辦事處的庫存。庫存系統的面向對象方法

該系統的核心是「資產」列表,如自行車,電腦,帳篷等。每個資產都會經歷諸如「有效」,「丟失」,「已檢出」,「已清點」等狀態。有些州還有其他信息,例如「已簽出」或「已清點」。

所以,我想每個國家將是一個父類的子類或可能實現一個iState接口。這一部分對我來說很清楚。

我堅持的是一個很好的OOP設計,把狀態可以遵循先前狀態的業務邏輯(Asset對象將存儲它的「最後」狀態)。例如,簽入只能跟蹤簽出。活動必須是資產上記錄的第一個狀態。

任何想法或指針都會有所幫助。這一次,GoF的設計模式都沒有跳出來對我說。

是的,我知道我們應該看COTS,但管理層決定繼續推出我們自己的工具。

回答

2

你有點回答你自己的問題。查看State模式。

+0

無法看到樹木的森林... – 2009-01-28 19:16:25

0

嗯。這聽起來更像是一個工作流程/業務規則問題,而不是OOD。我不知道任何OO原則,像你所描述的那樣強制執行狀態的順序/依賴關係。