Языковая абстракция программирования в Scala / Java

1

В настоящее время я пишу программу с использованием matlab в scala (через API matlabcontrol). Я хочу получить независимое от языка программирования решение, поэтому я могу использовать некоторые алгоритмы в 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 только как контролер, работая со ссылками и тем самым реализуя поэтапное объектно-ориентированное решение для сложного куска matlabcode.

Теперь я также хочу обменять части кода и дать другим разработчикам возможную точку входа для реализации собственного решения, например, в Scala. Проблемы:

  1. Как вернуть конкретный и взаимный тип данных, поэтому я могу использовать метод, зная, что у меня всегда будет тот же тип возвращаемого типа?
  2. Как получить ссылку на значение в Scala? Это очень помогло бы мне, так как я мог бы абстрагировать его таким образом.

Прошу прощения за неопределенный вопрос, но я действительно не знаю, как объяснить мою точную проблему :)

Теги:
design-patterns
types
abstraction

1 ответ

1
Лучший ответ

Вероятно, вам стоит взглянуть на легкую модульную постановку и виртуализацию Scala.

  • 0
    Это кажется очень хорошим подходом к тому, что я ищу. Я попытаюсь углубиться в это - большое спасибо :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню