170 похожих чатов

Насколько хорошей практикой является явная специализация шаблонного класса?

20 ответов

1 просмотр

что имеется ввиду?

Michael-Chambers Автор вопроса
Dmitry Ulyumdzhiev
что имеется ввиду?

Кейс когда очень не хочется весь шаблон хранить в заголовках

На самом деле она достаточно редка.

только для сокрытия реализация шаблона или для реализации специфичных для типа фич, а так на то он и обобщенный код, чтобы быть обобщенным

Michael-Chambers Автор вопроса
Anatoly Shirokov
только для сокрытия реализация шаблона или для реа...

У меня получается сокрытие реализации. Есть иерархия классов диалогов и параллельная ей иерархия классов логики внутри этих диалогов. Таким образом хотел логику сделать аргументом шаблона класса диалога и скрыть реализацию логики от диалога. Какой-то pimpl выходит...

Michael Chambers
У меня получается сокрытие реализации. Есть иерарх...

Ой да не стоит тут так уж архитектуализировать всё, я вот могу точно сказать по опыту: будет только хуже. Запутано , непрозрачно.

Michael-Chambers Автор вопроса
Ilya Zviagin
Ой да не стоит тут так уж архитектуализировать всё...

А как тогда? Если мне нужно расширять и логику и диалог. Взять обычный pimpl?

Michael-Chambers Автор вопроса
Ilya Zviagin
Расширять — это в каком смысле?

По минимуму использовать виртуальные функции в логике, только добавлять новые

Michael Chambers
По минимуму использовать виртуальные функции в лог...

Ну, я тебе ещё могу сказать, что наследование в формах (в UI) — тоже вредно IMHO. Не нужно его использовать. Одно дело , когда ты наследуешь свой диалог от базового диалога фреймворка — это ок. Другое — когда наследуешь диалог выбора файла от диалога выбора. Это — не ок.

Michael-Chambers Автор вопроса
Ilya Zviagin
Ну, я тебе ещё могу сказать, что наследование в фо...

Если совсем так, то условно наследую диалог выбора картинки от диалога выбора файла. Тогда я немного не понимаю если мне нужен функционал диалога родителя + немного нового функционала то почему не наследоваться от него?

Michael-Chambers Автор вопроса
Denis P
для этого есть композиция например

Это планируется реализовать в будущем, сейчас слишком разрозненная структура и притащить его займет много времени

Michael Chambers
Это планируется реализовать в будущем, сейчас слиш...

Потом это займёт ещё больше времени. Если есть возможность сразу сделать нормально, имхо, стоит ей воспользоваться. Архитектурные ошибки стоят дорого.

Michael-Chambers Автор вопроса
Blue Talpa
Потом это займёт ещё больше времени. Если есть воз...

Тут проект одна большая архитектурная ошибка...

Michael Chambers
Если совсем так, то условно наследую диалог выбора...

Ну, это сложно. В основном потому, что общие свойства диалогов — они такие, кажущиеся только....

Michael-Chambers Автор вопроса
Ilya Zviagin
Ну, это сложно. В основном потому, что общие свой...

Эти диалоги - это отображение структур, которые содержат общих членов и своих поэтому предположил что будет много общего. Наследование диалогов отсюда и пришло. Соответственно общие члены всегда отображаются в общие свойства. Поправьте, если ошибаюсь.

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
Всем вечера. Подскажите как лучше сделать. делаю на Д10 Например будет база данных на SQLite. в ней будет много таблиц. более 50шт Типа справочник. Содержать ID Name Id p...
Андрей Т 🐎
10
Я короче решил скомпилировать Nim в js, я думал он сработает как обычный транслятор. По итогу он мне создал файл с расширением js, и туда поместил кучу кода Вопрос, что это з...
𝕾𝖍𝖆𝖉𝖊 <suspense>
8
Добрый день! Хочу спросить совета. Хочется в скрипт добавить некую конструкцию, что скрипт создал файл, который нужно потом скопировать в определенное место. Нашел такой сп...
Mikhail
4
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
Вопрос по WIN32: Насколько я понимаю то все функции win32 привязаны к объектам операционной системы. Например консоль, файл, кисть, окна итд. Следовательно функции win32 упра...
Tommy Vercetti
6
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
in telegram can i have multiple username? so instead of having multiple account for example one for work, one for friend and one for family with three diff numbers. using one ...
Mr Thieves
6
кто-то пользуется компонентами rx ? как их лучше ставить, через OPM? (lazarus)
Iluha Companets
15
Карта сайта