![]() |
Модераторы: Daevaorn Страницы: (89) « Первая ... 73 74 [75] 76 77 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]() ![]() ![]() |
|
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
и сервер, сразу реализовал многопользовательский.
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
для снятия boost::function я бы пошел бы этим путем : http://liveworkspace.org/code/1ba46ba93e9f...2f6bd6b1e31178b P.S. enum { value } - лишь для наглядности результата.. Добавлено через 1 минуту и 35 секунд ![]() ![]() |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
так и недождался ![]() в продолжение :
вот заготовка : http://liveworkspace.org/code/c679951bca56...c7d61ccd53bf678 теперь надо добавить получение args_fused, конвертацию типа функции в метод, и запуск метода с aргументами args_fused.. |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
сорри.. еще не готово. хочу сделать по максимуму, чтоб получить максимум критики касательно более сложных для меня моментов, опуская мелочи ![]() спасибо. сейчас гляну. Это сообщение отредактировал(а) boostcoder - 23.1.2011, 14:53 |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
предыдущий пример был ориентирован, на то, что один и тот же (ди_)метод может принадлежать нескольким классам.. но .. можно пойти другим путем.. ближе к "обычному" ООП..
пока не знаю как на словах объяснить.. попробую кодом.. |
|||
|
||||
boostcoder |
|
||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
проблема вот с чем: при диспетчеризации вызова, мы все равно, либо проверяем соответствие типов в рантайме, либо попросту отказываемся от этого, рассчитывая на адекватного прогера. я же, задумался на этим, для локальных вызовов. и все потому, что решил использовать строки в качестве ID`ов. вариант с mpl-hash был бы идеальным. но увы... |
||||
|
|||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
нет... Если на выходах нет способа нарушить типизацию, то неважно как происходит кастование внутри... т.е. нам важно, чтоб отправка и прием были согласованы по типам, все остальное автоматически согласуется.. на этом же основана гарантия безопасности crtp и виртуальных функций.. т.е несмотря на то, что в интерфейсе this определен базовым классам, в переопределенных функциях представлен типом наследника..
если нет связки { тип, ид }, то он не может быть безопасным по определению.. ![]() Это сообщение отредактировал(а) mes - 14.2.2011, 00:17 |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
я потому и пришел к mpl-hash. т.к. сейчас ID - строка. а ее невозможно использовать как параметр шаблона. зато очень удобно в использовании ![]() Это сообщение отредактировал(а) boostcoder - 14.2.2011, 00:39 |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
вот и вопрос.. раз все равно нужно ассоциировать ид с типом, то что ж не определить тип, который и будет гарантом безопасности ?.. А ид использовать уже в рантайме ![]() |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
mes, поздно уже. с ног валюсь. завтра продолжим.
спокойной ночи. |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
||||
|
||||
SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 2 Всего: 23 |
Всем добрый день. Как же я давно на граде не был.
всю тему прочитать не осилил, но то те наброски, что видел (и особенно последний от MES) натолкнули на мысль, что может стоит взлянуть на это. правда, когда я это применял, то помню, что слегка повозился при переносе это на g++ P.S. Извините, если это было и полностью не в тему |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
идея та же. но у нас все более затемплечено ![]() спасибо. Добавлено @ 12:33 и наследовать в нашей реализации не нужно. пример:
Это сообщение отредактировал(а) boostcoder - 14.2.2011, 12:41 |
|||
|
||||
SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 2 Всего: 23 |
boostcoder, вот смотрю на ваш приммер и возникает вопрос: "почему было не сделать это на SOAP?" Как нежданный плюс получили б возможность писать клиенты на разных языках, что добавило б популярности вашему сервису со стороны других разработчиков
P.S. Может выложите конечное решение в отдельном топике? P.S. Модераторы и командующий состав портала, может давно пора создать ветку, где будем размещать tricks и подобное? |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
что мне это даст? с таким же успехом я мог бы использовать XML. разница в чем? я уже писал в теме, что пересмотрел кучу реализаций CORBA/SOAP, но ни одна из них, ни чуть не сравнится с тем, что получилось у нас с mes`ом. сравните сами ;) или я какие-то не такие реализации смотрел? Добавлено через 3 минуты и 43 секунды угу. конечное решение лежит(лежало) здесь: http://code.google.com/p/discoly/ но уже несколько недель думаю что завтра залью решение. и то одно...то другое... mes, репозитарий сбросил. все сохранил. ничего не пропало. не переживайте. Добавлено через 5 минут и 56 секунд это что? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |