java - Scala/Java 中的编程语言抽象

标签 java scala design-patterns types abstraction

我目前正在 scala 中使用 matlab 编写一个程序(通过 matlabcontrol API)。我想实现一个独立于编程语言的解决方案,所以我可以使用Scala中的一些算法和Matlab中的一些算法。 该程序已经可以运行(据我测试),但我也对抽象感兴趣,以便我可以使用 scilab 或其他语言交换模块。

为了详细了解问题,我向您展示 ImageReader 类:

trait ImageReader {
  def readImage(path:String):Any
}

object Matlab_ImageReader extends ImageReader {
  def readImage(path:String):Any = {
     proxy.eval("image = imread('"+ path + "');"
     return "image"
  }
}

这个想法是,我想将返回值视为对我使用的语言对象的引用。我将仅使用 Scala 作为 Controller ,使用引用,从而为一段复杂的 matlab 代码实现部分面向对象的解决方案。

现在我还想交换部分代码,并为其他开发人员提供一个可能的入口点来实现他们自己的解决方案,例如在 Scala 中。 问题是:

  1. 如何返回具体且相互的数据类型,以便我可以使用知道始终具有相同返回类型的方法?
  2. 如何获取 Scala 中值的引用?这对我有很大帮助,因为我可以这样抽象它。

我很抱歉这个含糊的问题,但我真的不知道如何解释我的确切问题:)

最佳答案

关于java - Scala/Java 中的编程语言抽象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23066774/

相关文章:

java - Java中获取文件属性

scala - 关于 protected[some_scope] 和 scala 中继承工作的困惑

java - 避免与 Java Collection 接口(interface)的语义耦合

java - YouTube 视频 Activity

java - MongoDB聚合不能使用$limit两次

java - 在 java URI 中编码井号

scala - 在 Scala 中回归 future 的 future

scala - 如何处理scala中 future 发生的异常

java - Selenium 异常处理设计

JavaScript 库模式