对接口使用“I”前缀或不对接口使用
这就是问题所在?那么,在开发c#项目时不使用此约定有多大的罪过呢?此约定在 .NET 类库中广泛使用。但是,我至少不是一个粉丝,不仅仅是出于美学原因,但我不认为它有任何贡献。例如,IPSec是PSec的接口吗?IIOPConnection是IOPConnection的接口吗,我通常会去定义中找出答案。
- 那么,使用这个约定不会引起混淆吗?
- 是否有任何值得注意的 c# 项目或库放弃了此约定?
- 是否有任何c#项目混合了约定,不幸的是Apache Wicket就是这样做的?
Java类库在没有它的情况下已经存在了很多年,我不觉得我从来没有挣扎过在没有它的情况下阅读代码。另外,界面不应该是最原始的描述吗?我的意思是IList<T>作为c#中List<T>的接口,拥有List<T>和LinkedList<T>或ArrayList<T>甚至CopyOnWriteArrayList<T>不是更好吗?这些类描述实现?我想我在这里得到的信息比我从c#中的List<T>中得到的信息要多。