2012-01-08 79 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

相关问题