我应该使用什么:函子,接口或抽象方法写一个抽象(兼容性)层时? (d语言)

StackOverflow https://stackoverflow.com/questions/790041

  •  16-09-2019
  •  | 
  •  

例如:脚本对象之间的兼容层(像字符串,数组)或脚本引擎(EVAL(),ReadFile的()等)

有帮助吗?

解决方案

如果没有更多的情况下,我不得不说接口以及。考虑,可以代表一个功能或委托作为具有单个方法的接口和抽象类只是接口与一些方法可能已经实现。

这是说,这真的取决于你要完成的任务。接口借给自己,你有很多有共同的接口的对象,但可能变化的情况下实现。如果你是,例如,设计插件的一个非常简单的回调系统(即:让主机应用程序插件挂钩的特定事件),则代表可能是您的需求简单,足够了。

也请记住,如果你用的接口去,你可能需要一些方法使主机实例的实例。做到这一点的最简单的方法是通过在一些唯一名称注册与主机的委托。

如果你想使用的接口,并提供了一些事情的默认实现

抽象类是唯一有用的。在这种情况下,更好的解决方案是有一个实际的接口代替,并提供默认实现为一个混合。

其他提示

接口有我的票。这样一来,只要你很容易定义接口的任何开发人员能够编写兼容的东西,您无需太多的代码分配给他们。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top