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

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

20 ответов

16 просмотров

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

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
Ну, это сложно. В основном потому, что общие свой...

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

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
1
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Карта сайта