Java中的接口命名
大多数OO语言的接口名称都以大写的I开头,为什么Java不这样做呢?不遵守该公约的理由是什么?
为了说明我的意思,如果我想拥有一个用户界面和一个用户实现,那么在Java中有两种选择:
- 类=用户,接口= UserInterface
- 类= UserImpl,接口=用户
在大多数语言中:
- 类=用户,接口= IUser
现在,你可能会争辩说,你总是可以为用户实现选择一个最具描述性的名称,问题就消失了,但是Java将POJO方法推向了事物,并且大多数IOC容器广泛使用DynamicProxies。这两件事在一起意味着你将通过单个POJO实现拥有很多接口。
因此,我想我的问题可以归结为:“是否值得遵循更广泛的接口命名约定,尤其是考虑到Java框架的发展方向?”
回答:
我不想在接口上使用前缀:
- 前缀会损害可读性。
- 在客户端中使用接口是进行编程的最佳标准方法,因此接口名称应尽可能简短和令人愉快。实施类应该更丑陋以阻止其使用。
- 当从抽象类更改为接口时,带前缀的编码约定意味着重命名该类的所有出现—不好!
以上是 Java中的接口命名 的全部内容, 来源链接: utcz.com/qa/422435.html