我正在学习MVP模式。在某些例子中,我看到了这个!任何人都可以证明为什么程序员使用这个名称约定?
答案 0 :(得分:2)
通常我在那里指示一个接口。没有我,它就是一堂课。我个人并不喜欢这个。我认为它在dot net中更常见。我在Java中看得太多了
我不喜欢的原因:
答案 1 :(得分:1)
'我'代表界面。它是区分接口和类/结构的通用命名约定。
接口是不是类 - 它们定义行为,类提供实现。
阅读MSDN上的这篇文章了解更多信息:Choosing Between Classes and Interfaces
接口定义了一组成员的签名 实施者必须提供。接口无法提供实现 会员的详细信息。例如,ICollection接口 定义与使用集合相关的成员。每个班级都有 实现接口必须提供实现细节 这些成员。类可以实现多个接口。
答案 2 :(得分:1)
这是Hungarian notation被认为是个好主意的时代的神器。它让用户知道该名称是用于界面的。
此外,这是一种非常愚蠢的做法。
接口名称应反映它所代表的类之间的合同类型。它应该不告诉你它与哪个类相关联。
它应该是class PDF extends Document implements Printable
,因为它让你知道该类由于某种原因实现print()
方法(在现实世界中它实际上是一个糟糕的API设计,但这是一个例子)而不是class PDF extends Document implements IDocument
..因为这会告诉你没有。