Есть ли шаблоны проектирования, которые я могу использовать для реализации RPC (клиент-сервер) в C ++? - PullRequest
1 голос
/ 03 ноября 2010

Я работаю над личным проектом, который представляет собой RPC (клиент-сервер) на C ++.RPC будет связываться по TCP / IP или HTTP.Спецификация RPC находится здесь:

http://groups.google.com/group/json-rpc/web/json-rpc-2-0

Мне интересно, существует ли существующий шаблон проектирования (или комбинация шаблонов), который мог бы помочь мне произвести чистый игибкий дизайн.Буду признателен за примеры кода, UML-диаграммы или статьи.

Спасибо.

Ответы [ 3 ]

3 голосов
/ 03 ноября 2010

Возможно, вам понадобится Proxy на клиенте для представления и локального вызова любых методов на стороне сервера, которые вы будете вызывать.

Под прикрытием Абстрактная фабрика может быть полезна для инкапсуляции предоставления конкретного сетевого соединения, выбранного с использованием настроенного или запрошенного протокола (TCP, HTTP).

0 голосов
/ 03 ноября 2010

Непонятно, спрашиваете ли вы о высокоуровневом проектировании (шаблоны наблюдателей, методы обработки JSON / XML и т. Д.), Низкоуровневом проектировании (сокеты, обработка HTTP-клиент / сервер и т. Д.) Или обоим.

Если вас интересуют аспекты более низкого уровня, включая масштабируемость, возможно, стоит изучить дизайн и мотивы ASIO: http://think -async.com / Asio / asio-1.3.1 / doc / asio / обзор.html .

0 голосов
/ 03 ноября 2010

Я бы пошел за Наблюдателем.

Детали и схемы.

...