Я использую шаблон команды для передачи команды от клиента на сервер через сокет TCP/IP. Сервер возьмет объект команды, десериализует его, а затем вызовет execute() для объекта команды. Однако мне нужно передать значение обратно вызывающему абоненту через сокет. Устанавливает ли шаблон команды? Если нет, есть ли работа? Я посмотрел на пример переключателя света на википедии, который велик, но нет никаких возвращаемых значений. Любой совет очень ценится.Command Pattern - вернуть значение
ответ
У вас не должно быть метода «execute()» на Command
, отправленного на удаленный сервер, это плохо во многих отношениях, особенно в Java. Command
должен представлять действие, которое должен принять получатель. В этом случае нужно вызвать метод для некоторого объекта.
Шаблон Command
предназначен для представления действий, предпринятых или предпринятых, а не для реализации этих действий. Подумайте больше о наборе инструкций, которые необходимо выполнить.
Что вы описываете, это в основном механизм вызова RPC с надстройщиком. Не заново изобретайте это колесо. Рассматривает существующие механизмы RPC, их много на выбор в мире Java. Затем вам нужно решить, является ли RPC синхронным или асинхронным.
A REST API основан на том, что является популярным и прослужит дольше, чем API, чем какой-либо специфический для родного языка механизм, такой как RMI.
Хорошая точка. Считаете ли вы, что RMI будет хорошо подходить для этого сценария, а не к сокетам в контексте моей проблемы? RMI даст мне заглушки, которые могут быть вызваны непосредственно клиентом нет? Это похоже на гораздо более приятный подход. Еще раз спасибо за указатели. – Joeblackdev
Я только что обнаружил, что RMI не работает с Android. Любые другие предложения? Еще раз спасибо – Joeblackdev
Простой API на основе REST - это то, что сейчас в моде. И я не имею в виду RPC через HTTP, я имею в виду настоящий REST. -> http://www.vertigrated.com/blog/2009/10/this-isnt-rest-this-is-rpc/ –
- 1. plugins pattern + sub command
- 2. C++ command pattern
- 3. wpf command pattern
- 4. WPF Mutate Command Pattern
- 5. Command Pattern & design design
- 6. C# Command Pattern confusion
- 7. Command Pattern - Цель?
- 8. stateful command pattern
- 9. Command Pattern: Где создать элементы Command?
- 10. Command Pattern: Клиент и Invoker
- 11. Вопросы о Command Pattern (PHP)
- 12. bash locate command with pattern
- 13. Command pattern: shine some light
- 14. Command Pattern: Выполнение нескольких команд в последовательности
- 15. Как реализовать Command Pattern вместо использования адаптера?
- 16. Command Pattern, что бы квалифицировалось как команда?
- 17. Progressbar C# с частью Command Pattern -1
- 18. Xamarin: ICommand это связано с Command Pattern
- 19. Command Pattern, приводящий к взрыву класса
- 20. Bash: grep pattern from command output
- 21. Callback/Command vs EventListener/Observer Pattern
- 22. Command Pattern: Как передать параметры команде?
- 23. Design Pattern: Modular Command Architecture (Workflow?)
- 24. regcmp pattern $ 0 Значение
- 25. Что Преемник Значение Pattern
- 26. Как отменить/вернуть git clone --mirror command?
- 27. Уродливый опыт с Command Pattern: Любая точка в ООП?
- 28. Java + Command Pattern + Spring + remoting: Как добавить зависимости к объекту Command?
- 29. как мне вернуть значение ввода?
- 30. using shell command command output
Можете ли вы объяснить, почему вам нужно отправить значение обратно вызывающему абоненту? Возможно, поможет еще какой-то контекст. – Ocelot20
Я очень верю в узоры. Однако они должны использоваться только для того, для чего они предназначены. Мое восприятие значения шаблона команды, похоже, не соответствует тому, что вы описали, до сих пор. Не могли бы вы рассказать о том, что, по вашему мнению, купит шаблон для вас в вашей реализации и почему вы его используете? – rfeak
http://stackoverflow.com/questions/1154935/command-pattern-returning-status - это аналогичный вопрос. – nos