Size: a a a

2020 March 23

CD

Constantine Drozdov in pro.cxx
Алексей Остапенко
Я могу написать interface->users().serializeToJson(), например. И не накладывать никаких требований на итерируемость результата users()
В этой реализации нет архитектурной ошибки, только небольшой даунгрейд производительности, если serializeToJson виртуальная
источник

АО

Алексей Остапенко in pro.cxx
Constantine Drozdov
В этой реализации нет архитектурной ошибки, только небольшой даунгрейд производительности, если serializeToJson виртуальная
Согласен
источник

CD

Constantine Drozdov in pro.cxx
Заметьте, что "если" относится к обоим утверждениям. Запрещены именно неполиморфный(полиморфный) вызовы
источник

ПК

Побитый Кирпич in pro.cxx
Constantine Drozdov
Единственное, как вы используете итерируемость, это кодирование в json
Сегодня используем так, завтра так и сяк. Закладывать надо на будущее. Фича не то чтоб лишняя и легко реализуемая
источник

ПК

Побитый Кирпич in pro.cxx
Ато потом появляется 100500 методов у std::string
источник

CD

Constantine Drozdov in pro.cxx
Побитый Кирпич
Сегодня используем так, завтра так и сяк. Закладывать надо на будущее. Фича не то чтоб лишняя и легко реализуемая
Ну прогони через адаптер на этот интерфейс, немного пошаблонь и у тебя расширяемость не страдает
источник

ПК

Побитый Кирпич in pro.cxx
Constantine Drozdov
Ну прогони через адаптер на этот интерфейс, немного пошаблонь и у тебя расширяемость не страдает
Дак у меня она итак не пострадала
источник

CD

Constantine Drozdov in pro.cxx
Побитый Кирпич
Дак у меня она итак не пострадала
Если encode_json(interface->users()) у тебя катастрофа, если users() в json пришел
источник

ПК

Побитый Кирпич in pro.cxx
Реализовать итерируемость по юзерам в 1000 раз проще, чем реализовать json. То есть клиенты обязаны зависеть от какой нибудь json либы, хотя им это нафиг не надо
источник

CD

Constantine Drozdov in pro.cxx
Побитый Кирпич
Реализовать итерируемость по юзерам в 1000 раз проще, чем реализовать json. То есть клиенты обязаны зависеть от какой нибудь json либы, хотя им это нафиг не надо
Ты меня слышишь? У тебя за interface класс, который стучит на сервер и ответ в json получает
источник

CD

Constantine Drozdov in pro.cxx
Как он будет итерировать users? Парсить json
источник

CD

Constantine Drozdov in pro.cxx
Чтобы потом снова закодировать в json
источник

ПК

Побитый Кирпич in pro.cxx
Constantine Drozdov
Ты меня слышишь? У тебя за interface класс, который стучит на сервер и ответ в json получает
В изначальной задаче json Не был настолько пришит. В таком случае да, у нас всё json-ориентированно будет
источник

CD

Constantine Drozdov in pro.cxx
Побитый Кирпич
В изначальной задаче json Не был настолько пришит. В таком случае да, у нас всё json-ориентированно будет
Нет, не будет. Тебе decode_json(interface->users_json()) все еще запрещен
источник

АО

Алексей Остапенко in pro.cxx
Constantine Drozdov
Заметьте, что "если" относится к обоим утверждениям. Запрещены именно неполиморфный(полиморфный) вызовы
Извини, не понял (видимо у меня контекст другой сложился).
источник

ПК

Побитый Кирпич in pro.cxx
Constantine Drozdov
Нет, не будет. Тебе decode_json(interface->users_json()) все еще запрещен
Непонятно почему
источник

CD

Constantine Drozdov in pro.cxx
Побитый Кирпич
Непонятно почему
Потому что decode_json неполиморфен, а неполиморфное(полиморфное) запрещено :)
источник

ПК

Побитый Кирпич in pro.cxx
Constantine Drozdov
Потому что decode_json неполиморфен, а неполиморфное(полиморфное) запрещено :)
Неочевидно пока
источник

ПК

Побитый Кирпич in pro.cxx
Operator << запрещён?
источник

CD

Constantine Drozdov in pro.cxx
Побитый Кирпич
Operator << запрещён?
Как ты представляешь себе неполиморфный << полиморфного объекта?
источник