LINUX.ORG.RU

С++ сокеты


0

0

знаю что есть асе и другие библиотеки ...

Хочу написать библиотеку передачи данных 
(преимущественно с помощью сокетов, но можно 
и другие методы включить)

вот решил что было бы удобно сделать через стратегии

template <
	class TransferMethodPolicy,
	class CreatePackagePolicy,
	class CryptPolicy,
	class ThreadSafePolicy
	>
class Transfer : private TransferMethodPolicy,
				 private CreatePackagePolicy,
				 private CryptPolicy,
				 private ThreadSafePolicy
{

то есть использовать его например можно будет так:

typedef Transfer<ClientSocket,myPackage,RSA,
                 ThreadSafe> myClientSocket;

но хочется узнать на какие грабли я наступлю?
или все гуд и такой подход "не плох" при наличи мозгов и рук?
Спасибо.
★★★

Интересно было бы посмотреть на простой эхо-сервер :) У меня ощущение, что синтаксис слишком перегружен, и работать будет неудобно

swizard
()

гм. Ну вот например мне в программе шифрование надо будет выбирать в рантайме. Придётся писать switch.

И воощбе общее впечатление - человек обчитался александреску, накручено очень уж. Хотя наверное можно так сделать.

На всякий случай посоветую посмотреть в сторону boost::asio

Legioner ★★★★★
()

а зачем темплейты, почему бы не обойтись базовами паттернами? да, структура будет значительно усложнена, но это будет как минимум грамотнее.

asgard
()

Ужос, расскажите кто-нибудь автору о python...

anonymous
()
Ответ на: комментарий от asgard

> Интересно было бы посмотреть на простой эхо-сервер :) У меня ощущение, что синтаксис слишком перегружен, и работать будет неудобно

это одно из главных направлений - уменьшение объема и перегрузки кода

> гм. Ну вот например мне в программе шифрование надо будет выбирать в рантайме. Придётся писать switch.

ессно будет возможность сменить политику или выставить runtime

> И воощбе общее впечатление - человек обчитался александреску, накручено очень уж. Хотя наверное можно так сделать.

есть такое :)

> На всякий случай посоветую посмотреть в сторону boost::asio

спасибо за совет, обязательно посмотрю

> а зачем темплейты, почему бы не обойтись базовами паттернами? да, структура будет значительно усложнена, но это будет как минимум грамотнее.

а про какие именно паттерны идет речь?

fura13 ★★★
() автор топика
Ответ на: комментарий от Legioner

> гм. Ну вот например мне в программе шифрование надо будет выбирать в рантайме. Придётся писать switch.

Ну почему же? Можно ведь сделать CryptPolicy который бы обеспечивал выбор метода во время исполнения (если конечно CryptPolicy сделать открытым базовым классом).

Вообще согласен, что человек обчитался александреску. И главное не ясно почему следует влючать методы передачи, создания пакета и шифрования в тип.

Begemoth ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.