Различаются между CORBA и RMI

Я четко знаю разницу между CORBA и RMI, за исключением проблемы с существованием in, out, inout,

CORBA использует язык IDL для описания интерфейса, а параметры в определенных методах имеют ключевые слова: in, out, inout, Смысл их таков:

  • in: Параметр передается от вызывающего операции к объекту.
  • out: Параметр передается от объекта вызывающей стороне.
  • inout: Параметр передается в обоих направлениях.

Мой вопрос: почему ключевые слова (in, out а также inout) необходимо в CORBA, но не обязательно в JAVA/RMI.

2 ответа

но не обязательно в JAVA/RMI.

Они не доступны в Java, не говоря уже о Java RMI. Дизайнеры приняли решение передать все по стоимости.

Это просто дизайнерское решение. Основное различие в их дизайне заключается в том, что CORBA не зависит от платформы и языка программирования, а RMI разработан специально для языка программирования Java.

У многих языков программирования есть свой способ выразить in, out или же inout Направления параметров, в которых языки CORBA IDL имеют свой прямой эквивалент. В других языках (например, Java) эти конструкции должны быть реализованы с помощью сложных структур-оболочек.

Язык программирования Java не имеет out или же inout параметры (хотя это может быть реализовано путем создания простого класса-обертки значения), все параметры передаются in по значению (для типов значений) или по ссылке (для ссылочных типов). А поскольку сама Java не поддерживает направления параметров на уровне языка, не было необходимости иметь это и в RMI.

Другие вопросы по тегам