|
|
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
GunSmoker у них реализация не связана с контрактом. Т.е. если у вас есть код работы с каким-то интерфейсом, то чисто по коду вы никак не узнаете, что происходит на самом деле. Вам придётся запустить программу, чтобы увидеть какая именно из реализаций интерфейса будет передана/использована. Как раз нужна "виртуальность" для Класса целиком(а не для отдельных методов). Еще Вы указали на серьезную проблему: Как проще ориентироваться в коде с “виртуальными” Классами? “Запускать и смотреть” ... боюсь, не подходит. Придется искать какую-то методику или полезное CASE-средство, типа Rational Rose ? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2020, 08:20 |
|
||
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
softwarer Как правило, если хорошо подумать над архитектурой, количество интерфейсов стремительно уменьшается, а управляемость и прозрачность приложения значительно увеличивается. Задача такова, что приходится рассматривать в т.ч. "концепцию к архитектуре" (а про саму архитектуру - это отдельная тема, она кажется проще) softwarer Я встречал мало задач, в которых были бы нужны или удобны "интерфейсы ради интерфейсов". Т.е. встречали. Вам повезло. А мне приходится продолжить поиск ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2020, 08:44 |
|
||
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
softwarer Куда правильнее сделать ProgressNotification, и пусть на него подписывается хоть ProgressBar, хоть LogWriter. Как правильно называется эта технология Notification/Подписки ... ? М.б. есть какая-нибудь ссылка почитать? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2020, 09:05 |
|
||
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
Artem.1st ziv-2014 Еще есть safecall и автоматическая обработка ошибок. Я правильно понял, что safecall - это надстройка над stdcall? Спасибо. Да, но удобная надстройка в плане обработки ошибок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2020, 12:39 |
|
||
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
Artem.1st, Это паттерн «издатель-подписчик» Стандартной реализации в Delphi нет, есть в Qt (сигналы-слоты), но тоже сомнительное удовольствие Придётся пилить вручную, разруливать синхронизацию и т.д. Уйти от интерфейсов в сторону издателя-подписчика - это что-то новенькое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2020, 12:44 |
|
||
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU Это паттерн «издатель-подписчик» Имелось ввиду не шаблон, а работающая концепция. Вроде, хорошая идея - соединить объекты в одной точке(не надо бегать по коду, искать зависимости). Отключил один, подключил другой. Но, м.б. нюансы реализации ... вот что интересно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2020, 12:59 |
|
||
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
Artem.1st, Я же написал, что нет Самое близкое это TAction Но они на то и паттерны, что реализуются под конкретную задачу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2020, 13:31 |
|
||
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU ... Для плагинной системы средней сложности тоже нет альтернатив. ... Есть. Абстрактные классы с абстрактными методами. SOFT FOR YOU ... Конечно интерфейсы используют для ARC в первую очередь. Здесь так же нет альтернатив. ... Есть. Умные указатели на managed records. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2020, 16:13 |
|
||
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
pvv.pas Есть. Абстрактные классы с абстрактными методами. Плагины подразумевают, что они могут быть написаны на разных языках Список VMT различается не только для разных языков, но и для разных версий Delphi Т.е. сделать можно, но это костыль. А интерфейсы - вещь в целом стандартизированная, как минимум в пределах Windows точно pvv.pas Есть. Умные указатели на managed records. Они появились в 10.4 Ну и виртуальных методов нет, значит невозможна универсализация ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2020, 16:23 |
|
||
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU Т.е. сделать можно, но это костыль. А интерфейсы - вещь в целом стандартизированная, как минимум в пределах Windows точно Интерфейсы в делфи стандартные для всех платформ. Вся FMX написана на интерфейсах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2020, 16:36 |
|
||
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
pvv.pas ... Есть. Абстрактные классы с абстрактными методами. ... Абстрактные классы - это вертикальное масштабирование, интерфейсы - горизонтальное. Для плагинов у классов больше минусов, а у интерфейсов больше плюсов (разделение менеджеров памяти, множественное наследование, поддержка разными языками программирования). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2020, 16:39 |
|
||
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
Artem.1st Как проще ориентироваться в коде с “виртуальными” Классами? “Запускать и смотреть” ... боюсь, не подходит. Придется искать какую-то методику или полезное CASE-средство, типа Rational Rose ? Хз. Как минимум - можно в комментариях указывать имя типичного реализующего объекта с опциональным списком других возможных кандидатов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2020, 17:00 |
|
||
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU Это паттерн «издатель-подписчик» Стандартной реализации в Delphi нет, есть в Qt (сигналы-слоты) System.Messaging ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2020, 18:16 |
|
||
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, Да, ты прав Только я не вижу синхронизации там Но идея неплохая ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2020, 19:32 |
|
||
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey SOFT FOR YOU Это паттерн «издатель-подписчик» Стандартной реализации в Delphi нет, есть в Qt (сигналы-слоты) System.Messaging Это ж .нет, в дельфях не нашел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 10:42 |
|
||
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
Fr0sT-Brutal Kazantsev Alexey пропущено... System.Messaging Это ж .нет, в дельфях не нашел http://docwiki.embarcadero.com/CodeExamples/Sydney/en/System.Messaging_(Delphi) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 12:03 |
|
||
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
Fr0sT-Brutal Это ж .нет, в дельфях не нашел Начиная с XE6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 12:04 |
|
||
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey Начиная с XE6. Тьфу ты блин. Смотрел в хелпе от 10.3, через поиск не находит, в содержании нет, а в статье про System прошерстил только Unit scopes, не дошел до Units ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 14:57 |
|
||
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
автор http://docwiki.embarcadero.com/CodeExamples/Sydney/en/System.Messaging_(Delphi) меня вот всегда интересовало эти косорукие сами пользуются тем, что пишут или нет - и так куда не взглянешь использовать генерики, что бы потом приводить типы - это верх ....... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2020, 09:54 |
|
||
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan), Поглядел немного код, я правильно понимаю, что если мне надо будет передавать TMessage<UnicodeString> в разных местах в смысле источник1 должен посылать в приёмник1, источник2 должен посылать в приёмник2 то получать я их буду в обоих подписчиках? И надо оборачивать UnicodeString чтоб тип был разный. Сделали бы хоть по ID'шнику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2020, 11:32 |
|
||
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
istrebitel, { TMessageManager can have many independent instances , but it maintains one global instance accessible by TMessageManager.DefaultManager } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2020, 11:45 |
|
||
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
istrebitel kealon(Ruslan), Поглядел немного код, я правильно понимаю, что если мне надо будет передавать TMessage<UnicodeString> в разных местах в смысле источник1 должен посылать в приёмник1, источник2 должен посылать в приёмник2 то получать я их буду в обоих подписчиках? И надо оборачивать UnicodeString чтоб тип был разный. Сделали бы хоть по ID'шнику. а вот приводить типы каждый раз это что-то с чем-то ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2020, 15:57 |
|
||
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan) в принципе, не особо проблема, для примитивных типов можно завести свой тип - TSomeType = type ...; а вот приводить типы каждый раз это что-то с чем-то А вы предлагаете что? Variant или TValue? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2020, 13:08 |
|
||
|
Интерфейсы. Сравнение ARC и Pure. Какие предпочтения ?
|
|||
|---|---|---|---|
|
#18+
Cobalt747, было бы логично и правильно Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2020, 14:32 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40007417&tid=2037929]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
73ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 375ms |

| 0 / 0 |
