形容词的界面命名

时间:2009-08-12 13:54:56

标签: oop interface naming-conventions

好的,如果您可以轻松地想到一个名词,那么很容易为界面(或类别)命名:用户,窗口,数据库,流等。

形容词或形容词概念怎么样?例如有时间戳(HasTimestamp,Timestamped,Timestampable ......?)或跟踪或观看的东西(Trackable,IsTracked,Watchable,IsWatched ......?)

3 个答案:

答案 0 :(得分:7)

我倾向于使用-able后缀。 Java库中有许多这种命名约定的好例子,例如:

例如,根据此命名约定,具有标记的内容将被命名为Taggable,具有时间戳的内容为Loggable since

  

时间戳通常用于记录事件,在这种情况下,日志中的每个事件都标有时间戳。在文件系统中,时间戳可以表示创建或修改文件的存储日期/时间。

答案 1 :(得分:0)

这是一个很好的问题。我尝试使用名词命名我的所有接口和类。所以我可能会找到像ITrackingTarget,IObservee这样的名字。时间戳很有意思。也许ITimestamp本身?

使用访问者模式,您会将表示接受IVisitor的对象的接口称为什么?

答案 2 :(得分:0)

我也倾向于使用名词。

对于可以打开/关闭的对象,您始终可以使用详细的 OpenableObject OpenableInterface :即使编写了组合,也会以名词结束。

因为它很冗长(而且有点傻)我倾向于使用可打开而不是 OpenableObject 。如果我想强调它是一个接口,我使用 OpenableInterface

对于使用依赖项反转模式的对象,我有时会使用“User”后缀:ImageUser,LoggerUser,ServiceXUser,...

最好使用名词,但我更倾向于明确遵守规则。