2012-01-08 77 views
2

我正在尋找在Java環境中具有Id(Long)和Name(String)的系統中的類的名稱。如何命名一個包含Id和Name的基類?

他們是否有這種類型的約定,還是僅僅是與建築相關?

+0

類的名稱應該基於它所代表的內容,而不是基於任何成員變量的類型(如果添加了新成員或更改了現有類型的成員,該怎麼辦?)。 – hmjd 2012-01-08 17:07:25

+0

爲什麼不BaseClass – 2012-01-08 17:08:35

+0

或BaseClassThatHoldsNameAndId。 :) – 2012-01-08 17:10:26

回答

3

我見過一些地方,如IdAndName名稱已被使用。我不喜歡它。這些名字與班級的當前狀態相結合。很可能新課程將添加到課程中或從課程中刪除,然後該名稱將不再準確。

所以,我會鼓勵你沿着這兩個方向的思考:

  • 這是什麼類的代表?如果這是具有「ID」和「名稱」的所有「事物」的超類,那麼可以將其稱爲NamedEntity(術語Entity對於描述保持不同身份的持久對象十分常見)。

  • (或者)你真的想讓它成爲許多其他類的超類嗎?聽起來好像你可以移動到一個設計,你的實體將在一個領域(而不是從它的類繼承)持有這樣一個對象。然後,您可以引入一個接口,該接口將定義一個getId()getName(),並讓這些實體實現這些方法(代碼體積方面的成本很低)。這會讓你更好地分離問題,減少耦合(繼承是最強大的耦合形式),並且不會利用只能玩一次的卡片extends

+0

有名的界面聽起來像一個好主意。保持耦合。 – 2012-01-09 07:59:20

0

還沒有聽說過這種情況下的公約。只問自己什麼是階級目的,魔術名詞就會出現。

1

在大多數情況下,它與應用程序有關。有時(如果所有值對象都需要ID和名稱),人們稱之爲BaseEntityAbstractEntity。如果你想使用「酷」Java公約呼叫這個類Nameable

+3

名稱將更好的接口 – Hurda 2012-01-08 17:17:47

相關問題