大多数OO语言的接口名称都以大写的I开头,为什么Java不这样做呢?不遵守该公约的理由是什么?
为了说明我的意思,如果我想拥有一个用户界面和一个用户实现,那么在Java中我有两种选择:
- 类=用户,接口= UserInterface
- 类= UserImpl,接口=用户
在大多数语言中:
类=用户,接口= IUser
现在,您可能会争辩说,您总是可以为用户实现选择一个最具描述性的名称,问题就消失了,但是Java将POJO方法推向了事物,并且大多数IOC容器广泛使用DynamicProxies。这两件事在一起意味着您将通过单个POJO实现拥有许多接口。
因此,我想我的问题可以归结为:“是否值得遵循更广泛的接口命名约定,尤其是考虑到Java框架的发展方向?”
NetworkInterface
,DialogInterface
等