我開始對從提取數據,然後寫回遺留系統數據庫的項目。我已經開始使用領域模型,並試圖在過去的系統中改進這種設計,所以我希望對此有所反饋。OOP設計:字符串,枚舉,接口還是其他?
這個例子是任意的,所以不需要具體的建議有,但讓我們說有一個名爲「WorkflowStep」我正在寫的一類數據庫中的表。表中有一個名爲「CurrentStatus」的列,它定義了工作流程所處的狀態。它存儲爲一個varchar。對於此列,整個表格中有五個不同的字符串,並且不太可能會更改像「打開」,「關閉」,「保持」等值。
類需要跟蹤這個值,但以何種方式?我可以去簡單的方法,只是將其存儲在一個字符串,但是這並不是非常明確,我會想象未來開發商獵取應用邏輯對字符串的不同的值。我可以用枚舉來使事情更加明確,但這可能會導致整個地方出現開關/情況。我讀過,工程師將一個接口,說辦法「IStatus」,然後做出表示的狀態每個可能的狀態具體的類,但在同樣的情況,因爲這一個一些列可以有一百個不同的值,所以100每個州的課程看起來都像是矯枉過正。
我的主要問題:是一種方法事實上的比別人更好,如果沒有,我應該怎麼考慮,以選擇的方法?
注意,該項目仍處於起步階段,我不知道究竟是如何之類的這種「狀態」屬性將被使用。這可能是沒有用的,或者它可能是至關重要的:我還不確定。
正是我需要的,謝謝! – Chris 2009-10-28 15:02:14