在Java中,我经常遇到带有后缀-able
的接口,例如serializable
,iterable
等。这表明实现这些接口的对象具有这样的特性,即某些操作可以到来完成,例如:对象可以序列化或可以迭代。如果我想实现一个界面,表明某些操作可以 对象而不是 对象,那该怎么办。
例如,人类有必要沿CanDrive
行实现接口,但对于人类实现接口Drivable
没有意义,因为无法驱动人类。相反,汽车应该实施Drivable
,但肯定不应该实施CanDrive
,因为没有汽车应该自行驾驶。
作为界面名称,名称CanDrive
听起来非常丑陋。是否有一个后缀约定来命名一个接口,建议这种可以做的关系(而不是可以做到)?
答案 0 :(得分:1)
对于对其他对象执行操作的类和接口,通常使用agent nouns或名词短语:
Serializer
ClassLoader
答案 1 :(得分:1)
我认为没有太多的命名约定。例如,完成 iterable
界面与可以通过 iterator
界面相关联。 Comparable
到Comparator
等。在我看来,如果有这样的命名“惯例”,您就会使用-or
代替-able
。
答案 2 :(得分:0)
在-or
或-er
中结束姓名(取决于英文拼写)。
即使在做事物的接口的JDK中也有很多例子:
等
在CanDrive
的示例中,您将使用Driver
。