2010-03-16 68 views
2

不知道如何制定標題,但它應該是非常明顯的例子。博客 - BlogPost - BlogPostComment與博客 - 發表評論

更具體地說,您使用什麼規則命名「依賴」類。例如,Blog本身就是一個很好的描述性名稱,但我如何處理帖子? BlogPostPost?顯然,名字清楚地表明它是一個「從屬」類,但是這可以很快與BlogPostComment,BlogPostCommentAttachment等無關。另一方面,Post看起來像一個與Blog完全無關的實體,並且在眼睛上更容易。

您的規則/最佳實踐是什麼?

回答

1

在你提到的情況下,這個問題是如此衆所周知,因爲它是簡潔的沒有區別,它實際上可以節省你輸入。班級之間的其他類型的關係並不那麼簡單。

使用「博客」,「發佈」和「評論」的另一個優點是您可以重複使用博客和評論,其他東西不一定與博客相關,他們會更適合那裏(好吧,它只是一個重命名無論如何)。

那麼我的規則就會'儘可能清楚'。我確實傾向於假設,在你闖入我的代碼之前,或者我開始一個項目的槍支閃現之前,我們已經讀了一些關於這個問題的空間。

此外:我知道的大多數web框架都可以使更容易對於模型名稱更容易使用諸如Blog,Post等簡潔的名稱。

3

我個人最喜歡後者。而不是一個好的命名空間名稱可以消除歧義Post

+0

命名空間是啊! – Patrick

1

有趣的問題。我會根據情況使用。

例如,一個簡單的News和NewsItem會很好,因爲它是一個基本模型,命名約定在這種情況下使關係清晰。但是,對於更復雜的領域模型和維護良好的命名空間(例如博客)的大型開發,我會說它必須更簡單和更清晰,以命名類型博客,發佈,評論。

+2

我想是相反的:在一個小項目中,它沒有區別,因爲它很容易理解,並且在一個複雜的領域中,您必須使用適當的名稱空間(以某種方式或其他方式)將所有內容保持在一起。 –