AF_UNIX/PF_UNIX в kernel-space ?
Не по адресу вопрос. Вообще не по адресу.
Ну так иди в чат про Линукс и там спрашивай.
Привет. У меня вопрос по дизайну. Мне по сети приходят разные данные, текстовые, их я конвертирую в какие-то другие данные, а так-же делаю проверки корректности входящих данных. По итогу имею такую упрощенную иерархию: class base_parsing_result { virtual to_json() = 0; }; class some_arg_1_parsing_result : public base_parsing_result { error_arg_1_t m_error; to_json() {...} - если есть ошибка, конвертирует в Джсон, для переджачи по сети }; Внутри этих результатов, я храню и сами сраспаршенные данные(с ошибками парсинга для каждого аргумента внутри). С этим проблем нету - тут все удобно и не мешает работе. Но теперь, я хотел бы все эти спаршенные данные конвертировать в специальную структуру, и этот момент наводит меня на мысль о том, что нужен бы новый интерфейс, от которого я наследуюсь классами выше, и в котором переопределяю чисто виртуальную convert_to_structure-> конвертирует во что надо. Это плохое решение? То есть, имею вот что: class some_arg_1_parsing_result : public base_parsing_result, public converter_class { error_arg_1_t m_error; to_json() override {...} - если есть ошибка, конвертирует в Джсон, для переджачи по сети convert_to_hat_trie_data(){...} override }; Не нравится, то, что один класс отвечает за многое, но с другой стороны никаких неудобств не создает.
@urandon @webreh any ideas?
а чому к нам а не в про, раз таких людей пингуете?
может, там же — from_json() ? Не?
Ну там не джсон, парсится, конечно - но в таком случае, если у меня фром джсон и в какую-то другую структуру, это получается, если таких структур много - то и методов таких, будет много, так?
Ну я не понимаю... Слишком много деталей. Вникать надо. Если FROM _ JSON зависит от двух типов — делай множественную диспетчеризацию, реализуя её через паттерн Visitor.
Ну да, вроде похоже на визитор.
Хорошо, спасибо Илья.
Если идти от максимально красивого и удобного дизайна на мой взгляд — наследование мне лично не нравится для подобной цели. Может, стоит взглянуть на дизайн nlohmann_json, погуглить ниблоиды и tag_invoke? Плюс, чтобы далеко не ходить, я бы ещё и на tl::expected взглянул Но я не уверен, что правильно понял суть вопроса, так что не исключаю, что дал предложение совсем не в тему
Обсуждают сегодня