Объекты передачи данных, объекты области и репозитории

node-red-contrib-binary сделает это за вас, вам нужно будет добавить шаблон, который соответствует формату всего буфера. Синтаксис для паттерна можно найти здесь здесь .

В результате вы получите что-то вроде:

... value: b32, ...

, а затем выведите msg.payload.value с номером.

В функциональном узле предполагается, что вы передали буфер как msg.paylaod, это будет что-то вроде этого:

var value = msg.paylaod.readInt32BE(33);

РЕДАКТИРОВАТЬ:

Если вход представляет собой короткий массив, то вы можете сделать что-то вроде следующего в функциональном узле:

var value = (mag.payload[0] << 8) + (mag.payload[1] << 24)
    + (msg.payload[2] << 16) + (msg.payload[3] << 8);

Или просто преобразовать массив в буфер и прочитать как раньше:

var buff = Buffer.from(msg.payload);
var value = buff.readInt32BE(0);

8
задан Charles Graham 11 February 2009 в 06:34
поделиться

2 ответа

  • DTO и Объекты области должен быть отдельным.
  • Должен быть картопостроитель, который отображает DTO на объект области и объект области к DTO. Этот картопостроитель должен быть реализацией интерфейса с картопостроителем по умолчанию с помощью отражения для отображения объектов друг на друга.
  • Репозиторий должен быть сервисом, который возвращает объекты области, которые сами должны сервисы.
  • Если DTO является классом, который выставляется веб-сервисом, WSDL, который создается, определяет свойство как элемент, и прокси, который создается с другой стороны просто, создает метод считывания / свойство метода set, которое выполняется на клиенте само, таким образом, методы считывания и методы set не вызывают распространение в прямом и обратном направлениях.
  • Даже если Вы просто создадите общедоступную переменную в своем DTO, то прокси будет реализован как метод считывания и метод set.
4
ответ дан 5 December 2019 в 23:17
поделиться

Я думаю, что лучше иметь DTO, содержат ссылку на Объект области так, чтобы потребители DTO могли начать использовать Объект области. Тем не менее, если потребители DTO не должны видоизменять Объект области, Вы, возможно, должны иметь DTO, содержат значения, инкапсулировавшие в Объекте области. Это может быть трудно, так как Вы, возможно, должны сделать глубокую копию Объекта области.

Я не уверен, почему это - проблема, что представление типа DTO как услуга заставило бы использование своих методов считывания/методов set делать распространение в прямом и обратном направлениях. Если сервис является удаленным сервисом, возвращенный DTO сериализируется так или иначе, и Ваши методы считывания/методы set получат копию значений. Если сервис не является удаленным, это, кажется, не большая часть штрафа, чтобы сделать "распространение в прямом и обратном направлениях", так как клиент и сервис находятся в том же пространстве процесса.

1
ответ дан 5 December 2019 в 23:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: