|
|
|
Strict private
|
|||
|---|---|---|---|
|
#18+
Без генериков можно сделать если TEnumeratorField поместить внутрь TFields. type TFields = class public type TEnumeratorFields = class property A: TFields end; end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 09:04 |
|
||
|
Strict private
|
|||
|---|---|---|---|
|
#18+
X-CiteЭто называется некорректно спроектированная архитектура. То что вы написали, называется, как умею так и пишу... +2 X-Cite, Человеку, который хотя бы пытается использовать шаблоны, это объяснять не надо. А тем кто делает так всю жизнь, т.е. настоящие специалисты с 15 лет стажа - ты ничего объяснишь, и потратишь время впустую. Ну и далее, как обычно, попытаются привести примеры. Да, к сожалению, Delphi - позволяет делать много говнокода. Циркулярные ссылки, доступ к приватным элементам и много ещё чего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 09:15 |
|
||
|
Strict private
|
|||
|---|---|---|---|
|
#18+
чччДА как ты реализуешь два класса в раздельных модулях, чтобы в каждом классе было поле типа другого класса? Я не буду такого реализовывать. Приведённый пример с циркулярной ссылкой: автор1. Для работы лампочки нужна электростанция. 2. Для работы электростанции нужна лампочка. 3. Друг без друга они не работают. Вилок не предусмотренно разработчиком. Как хорошо, что во время ГОЭЛРО не знали Делфи. Ну и далее пытается доказать, гениальность и неизбежность такого подхода. И компилятор Делфи этому не препятствует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 09:28 |
|
||
|
Strict private
|
|||
|---|---|---|---|
|
#18+
X-Cite...Если выделить абстракцию Перечислитель в абстрактный класс... Ты задачу не решил, ты просто "заболтал" ее. ... Эта ( 21257210 ) "проблема" (создание двух классов с циркулярными ссылками) перестает быть проблемой всего лишь после помещения обоих классов в общий модуль. И сразу можно не ныть про генетики и неправильную архитектуру. Не нужно генерить говнокод, называя его паттернами, чтобы вытянуть себя за волосы из болота. Можно просто работать. Но при этом порождая гигантских объемов модули и помня о странном превращении (неполном, кстати) private в public в рамках общего модуля. Что мы и наблюдаем в том же DB.pas. Исключительно из-за рукожопости создателей delphi. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 09:38 |
|
||
|
Strict private
|
|||
|---|---|---|---|
|
#18+
Да, изменение защищённости private членов в рамках модуля менять чревато потерей совместимости со старыми библиотеками. Что тут сделаешь. Но что мешает за столько лет решить "проблему" циклических ссылок? Вот в C# этот косяк поправили довольно быстро, ну то Майкрософт, они богатые и могут позволить себе заботиться о комфорте пользователей. А тут средства вкладываются в FMX и прочий хлам и на все не хватает. Пользователям дельфей остаётся либо делать умные лица и рассказывать про паттерны (которые, сколько не надувайся, все равно не решают проблемы циркулярных ссылок), либо тупо создавать безобразно раздутые модули. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 09:52 |
|
||
|
Strict private
|
|||
|---|---|---|---|
|
#18+
чччД, Да нормально это в дельфи, именно под это среда и заточена. С отдельными файлами больше гемора в редакторе. strict просто добавляет дополнительные удобства. Правда периодически, появляются отдельные личности, которые тащут реализации костылей типа Singleton-а из других языков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 09:59 |
|
||
|
Strict private
|
|||
|---|---|---|---|
|
#18+
X-Citeс постоянным расширением фуфнкционала Какой внезапно правильный термин Для всех спорящих, товарищ Сталин уже давно сказал, что марксизм не догма, а руководство к действию :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 11:09 |
|
||
|
Strict private
|
|||
|---|---|---|---|
|
#18+
чччД, Отличная противоположность - каждый класс в своём модуле. Как-то пробовал такое отлаживать в плюсах. После 30-го +- открытого модуля я окончательно и бесповоротно потерялся. Спасибо, не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 13:53 |
|
||
|
Strict private
|
|||
|---|---|---|---|
|
#18+
makhaonчччД, Отличная противоположность - каждый класс в своём модуле. Как-то пробовал такое отлаживать в плюсах. После 30-го +- открытого модуля я окончательно и бесповоротно потерялся. Спасибо, не надо. Крайности всегда уродливы. Только в Delphi крайности "все в одном" избежать невозможно. А в C#/++ можно и так и эдак и вообще как хочешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 14:27 |
|
||
|
Strict private
|
|||
|---|---|---|---|
|
#18+
makhaonчччД, Отличная противоположность - каждый класс в своём модуле. Как-то пробовал такое отлаживать в плюсах. После 30-го +- открытого модуля я окончательно и бесповоротно потерялся. Спасибо, не надо. Особенно учитывая, что в плюсах на каждый модуль обычно по ДВА файла... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 14:37 |
|
||
|
Strict private
|
|||
|---|---|---|---|
|
#18+
Василий №2... Особенно учитывая, что в плюсах на каждый модуль обычно по ДВА файла... А в Delphi на каждую форму еще и dfm, а в Америке негров линчуют. :) ... В C++ нет пока настоящих модулей. Но идет работа по их внедрению в язык, некоторые компиляторы уже поддерживают.. Правда, в последний стандарт их собирались включить, но почему-то решили чуть отложить. Но в составе MSVS уже компилятор их понимает и включены стандартные библиотеки, построенные по принципам модульности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 15:06 |
|
||
|
Strict private
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)Было бы неплохо иметь задекларированный потайной доступ к приватным объектам RTTI же! У меня в проекте есть потомок TImage, которому в некоторых случаях нужно рисовать на "честной" канве, которая находится у родителя в private Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 15:45 |
|
||
|
Strict private
|
|||
|---|---|---|---|
|
#18+
Василий №2учитывая, что в плюсах на каждый модуль обычно по ДВА файлада не, это сугубо по вкусу автора. масса либ существующих целиком в хедэрах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 15:51 |
|
||
|
Strict private
|
|||
|---|---|---|---|
|
#18+
vavanВасилий №2учитывая, что в плюсах на каждый модуль обычно по ДВА файлада не, это сугубо по вкусу автора. масса либ существующих целиком в хедэрах а функции в хедерах часом не инлайнятся автоматом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 15:56 |
|
||
|
Strict private
|
|||
|---|---|---|---|
|
#18+
Квейд, Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 16:19 |
|
||
|
Strict private
|
|||
|---|---|---|---|
|
#18+
Квейдфункции в хедерах часом не инлайнятся автоматом?когда как ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 16:25 |
|
||
|
Strict private
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)> Да нормально это в дельфи, именно под это среда и заточена. kealon(Ruslan)> С отдельными файлами больше гемора в редакторе. Среда заточена под то, под что её затачивали. VS как среда и C# как язык вполне себе удачно и удобно позволяют работать без всяких проблем с перекрестными ссылками, отладкой и пр. А геморрой или нет - на этот счёт есть разные мнения и не их (разработчиков IDE и языка) собачье дело решать, кому как удобнее, пусть каждый сам для себя решает/выбирает. Вернее, с т.з. бизнеса, конечно, вполне их право - "не хочешь - не покупай, иди на C#" - но с т.з. удобств и пр. - нет. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 22:15 |
|
||
|
Strict private
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, гм, сравнивать возможности мелкой компании с MS как-то некорректно, что было актуально то и пилили н-р, CodeExplorer от 7-ки до последних версий практически не поменялся, если скакать по файлам - работать с ним практически невозможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2018, 09:13 |
|
||
|
Strict private
|
|||
|---|---|---|---|
|
#18+
Квейдkealon(Ruslan)Было бы неплохо иметь задекларированный потайной доступ к приватным объектам RTTI же! У меня в проекте есть потомок TImage, которому в некоторых случаях нужно рисовать на "честной" канве, которая находится у родителя в private Аналогичный по смыслу ответ электрика с опытом 20 лет: авторВ моём проекте есть лампочка, и в некоторых случаях нужно пробраться на электростанцию, что бы её включить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2018, 10:24 |
|
||
|
Strict private
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)> гм, сравнивать возможности мелкой компании с MS как-то некорректно Я в этих вопросах ни гу-гу, но думаю что это не столь неразрешимая и трудоемкая [под]задача, не пару человеко-месяцев максимум. В самом крайнем случае, если своих мозгов не хватает - можно было бы идею подсмотреть в готовых реализациях. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2018, 22:53 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39615412&tid=2041140]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
145ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 464ms |

| 0 / 0 |
