2012-04-06 149 views
3

我正在開發一個應用程序與MVC3和實體框架。我有兩個實體具有一個相似性的服務層。跨2個服務層共享方法

這兩個服務是DurationService和FieldService。前者處理日期和日期設置列表。這些設置包含有關每天時間段的信息(開始時間,結束時間,可能的中斷時間列表)。後者服務處理字段和字段設置的列表。這些字段設置用於確定字段可用性。

兩種服務都需要檢查中斷時間是否重疊。我將它編碼爲DurationService,但現在已經注意到FieldService需要完全相同的方法。我不想違反DRY原則,所以我的問題是,我該如何最好地處理這個問題?

我是否會創建一個靜態類,這兩個服務都可以調用?我是否使用某種繼承(即使這種方法是他們將共享的唯一方法)。

回答

1

看起來建築正在阻止你做明顯正確的事情。不要讓這種情況發生。

繼承可能不是正確的解決方案。一個靜態輔助類將會做。簡單的問題需要簡單的解