缩写 impl 在许多库中被使用;它的含义是什么?

41

我看到impl被用作命名空间和类后缀在许多不同的.NET和Java库中。 我只想知道它的含义以及为什么要使用它。


在Java中使用“BaseClass”后缀吗?我有时在.net代码中看到它。 - keithwill
2个回答

40

它代表 实现

这是 Java 的一个约定。

通常在 Java 中(尤其是 J2EE),您会从某个工厂获得对象,然后使用它。

该对象的类型通常以接口的形式提供给您,以便您不需要知道实际类,只需知道其方法。

Impl 类通常是实现其中一个这些接口描述的行为的类。


1
ATL也喜欢在COM类实现模块中使用“Impl”作为后缀(以区别于库的入口点模块)。 - Frédéric Hamidi
12
这是一个非常糟糕的命名惯例反模式 - user177800
3
@feelingunwelcome,我不反对 - 这里的主要问题是,如果你想在Java/J2EE中轻松测试,通常需要将类/接口比例分解为1:1以打破你的依赖关系。 在这种情况下,命名可能会变得非常麻烦。 它确实避免了"IInterfaceName"的问题 - 它只是将丑陋移到了另一个地方。 - TreyE
1
对我来说,“Impl”约定是一个指示该类旨在通过工厂之类的方式进行实例化,而不是直接通过其构造函数进行实例化的指标。虽然如果这是意图,有更好的方法来实现它。 - David DeMar

18

这是“implementation”的缩写。通常在父包含抽象类、接口和一些工厂类(这些是主要访问点)的情况下使用,而impl 包则包含了这些抽象类和接口的各种具体实现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接