對不良問題標題。OOD:表示計算值的多個對象
比方說,我有DATERANGE類,基本上只是由一個開始日期和日期和結束日期的。
我的問題是:我如何表示計算日期範圍,如「本週」,「過去兩週」,「上個月」和「本季」等,以便多個客戶端可以使用這些計算的日期範圍以一致的方式?也就是說,我將有多個類的多個對象,都需要知道「本週」是什麼。
我可以建立他們入日期範圍,但似乎並不像一個很好的解決方案,因爲更可能會增加或有些人可能會隨着時間的推移變得過時....其實這肯定會發生。我可以使DateRange抽象並擴展它,但是然後我會有一堆小類。我可以創建一些計算這些日期的靜態幫助類。你如何解決這個問題?
DATERANGE =新DATERANGE(RangeEnum.THISWEEK));
或
dateRange = new ThisWeek();
或
DATERANGE = DateHelper.getThisWeek();
或
?
拋出一個附加的扳手到這件事情,讓我們說,我還需要代表類似「包含日期2008年5月1日,每週工作時間」的範圍。說到這一點,我傾向於幫手類......它只是感到尷尬有一大堆愚蠢的方法。
這是有道理的。基本上,「幫助者類」的想法只是集成到DateRange類中。一方面,這種感覺迫使DateRange對業務需求瞭如指掌,不應該......但另一方面,這很簡單,沒有什麼大不了的。 – Boden 2009-03-06 16:16:24