2011-04-26 58 views
0

就在這個相當簡單的問題上的一些意見。類架構問題

說,我有一個DocumentParser類,它從Excel電子表格中提取大量數據。捕獲的數據用另一個對象建模,可以說'數據對象'。文檔解析器構建這些對象的集合,準備將其轉移到大量的數據集中,以便執行進一步的任務。

我的問題是,你會在與文檔解析器相同的類中實現數據集羣,還是堅持單一責任原則,你會不會創建一個新的類?如果它是一個單獨的類,那麼如何將數據對象的集合公開給這個類,你會簡單地通過一個參數嗎?

謝謝。

回答

1

您的DocumentParser類只有一個責任:那就是解析數據並從中返回數據結構。使用不同的類來處理這個數據集 - 類似的,如果你想要整個解析XML(返回一個Document)並將這個文檔寫回XML! 我建議將你的DataObject集合包裝到另一個允許通過它迭代的類中(再次,看看XML文檔解析的工作方式),然後傳遞這個封裝的數據而不僅僅是一個簡單的DataObject集合。