2011-07-05 55 views
1

幫我解決與同事的爭執...日期和貨幣應該總是作爲對象傳遞嗎?

我們使用的是Zend Framework和PHP,我們處理的大部分數據都包含日期和價格。我一直在爭論,當數據被檢索時(從數據庫或JSON),我們應該自動立即將日期屬性轉換爲Zend_Date對象和價格屬性到Zend_Currency對象,以確保我們始終使用那些能力類操作/比較/顯示數據時的類。我的觀點是它確保了一致性,並且我們始終知道數據是以何種形式存在的。

我的同事認爲我們應該在檢索時只保留數據(字符串),並且僅在創建時使用Zend_Date/Zend_Currency對象模型或視圖。

誰是對的,爲什麼?

(我敢肯定有人會爭辯說,我們在創建對象小速度優化的罰款,但是對我們來說這是關心的問題。)

+0

一致性比這裏的「正確」更重要(就像在許多地方一樣)。 – ysth

回答

1

在OO最好的做法肯定會使用因爲它們封裝了你期望的貨幣/日期的狀態和行爲。

我對Zend沒有經驗,但我會假設日期類會做一些檢查以確保日期是有效日期或拋出異常。如果您等到最後一分鐘纔將日期轉換爲對象,那麼您可能很難找到錯誤的來源,並且一直在周圍傳輸受污染的數據。我的防守性質會讓我儘快清理數據,而這些數據並非來自已知的可信來源。

相關問題