Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
chpasha Про сдвиг по фазе: о генериках Я вот нахожу более удобным в тех очень немногих случаях, когда мне действительно нужен TTypedList - быстренько набросать пару методов и свойств, на том и успокиться. да ну не гони, ты находишь это проще чем написать List<MyClass> и автоматом получить все что тебе нужно? Притом полный контроль типа на этапе компиляции и никаких косяков, потому что в каком-то из методов Find забыл указать, что регистр не надо сравнивать? или Dictionary там какой? да ну грекс, полно те Еще раз. Все, о чем ты глаголишь, мне нужно раз в пятилетку. Про косяки я и вовсе не понял проблематики. chpasha Про сдвиг по фазе: о генериках Вопрос же в другом. Я вот сейчас насчитал всего пару десятков случаев списков т.е. пару десятков классов с идентичным функционалом, отличающихся только типом елементов списка? Какие такие пара десятков? Ты VCL уже забыл совсем? Скажи, где они там вообще впились, типизированные списки эти? Если не в системном коде chpasha Про сдвиг по фазе: о генериках Итак, за что боремься то? меня удивляет, что из всего спорного и не очень в .net, ты отрицаешь полезность одной и несомненно полезнейших (пусть и не совершенных, как утверждают плюсплюсники) фич Знаешь, я сначала думал, что class helpers, generics, emit, и... даже folding очень даже были бы полезны. Но потом, поразмыслив, понял, что пользы от них - считай нет вообще. Т.е. мне нужно специально натянивать, извиняюсь, выдумывать что-то, оправдывающее их применение, что-бы потом понять, что можно было обойтись и без них (редизайнив). Честно. В упор не вижу никакой пользы. Там, где мне нужен быстронаколеночный список - я возьму TObjectList. А если совсем быстро - open array (считай один хрен список). Они покроют 99.9% быстрых хотелок. Там же, где меня заборет эстетический сибаризм - да, там я рубану типизированный список. В чем криминал? Более того, я даже сразу скажу. Список на манер генерика (в его синтаксисе) у меня как-то вызывает весьма неоднозначные ощущения. С виду просто "уе...нская" корявость (с) Тема. Неудобно, и пальцы о скобочки ломаются. (Шифт жмакать...) Чисто внешне, чисто визуально. Как то наколеночно, да. Но это чисто вкусовое, не обессудь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 15:54 |
|
||
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
Про схоластику EntityСчитаю контроль типов на этапе компиляции обязательным.Городить TXXXField-ы? Не, это не наш метод. А как быть с другими случаями? Про схоластику EntityЗюЫю Полистав (память) про Entity и биндинг, начал понимать, о чем ты. В принципе да, задача из отряда: давайте одним кривым дизайном заборем другой кривой дизайн.Ну ка, кто там что говорил про аргументы, про сравнительный анализ? Ась? ЗЫ: кстати, тема про Variant vs Nullable<T> тоже не раскрыта... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 15:54 |
|
||
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
chpashaаааа...Нахлобуч жжешь, я думал было про "шаблоны форм" с MVP заикнутся, но не осмелился дразнить грекса паттернами Да чую я, что реакция будет та же, что и на твой пост. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 15:54 |
|
||
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
chpasha Нахлобуч аааа...Нахлобуч жжешь, я думал было про "шаблоны форм" с MVP заикнутся, но не осмелился дразнить грекса паттернами :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 15:55 |
|
||
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
Алексей КЗЫ: кстати, тема про Variant vs Nullable<T> тоже не раскрыта... Не путай квадратное с мягким. И почитай про ? после типа. Я уже говорил выше (который добавляет лишь банально-неявный IsNotNull, не дай бог соврать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 15:58 |
|
||
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
Нахлобуч chpashaаааа...Нахлобуч жжешь, я думал было про "шаблоны форм" с MVP заикнутся, но не осмелился дразнить грекса паттернами Да чую я, что реакция будет та же, что и на твой пост. кстати это поядренней списков будет. Тут уж боксить/анбоксить запаришься ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 15:58 |
|
||
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
Про ? Алексей КЗЫ: кстати, тема про Variant vs Nullable<T> тоже не раскрыта... Не путай квадратное с мягким. И почитай про ? после типа. Я уже говорил выше (который добавляет лишь банально-неявный IsNotNull, не дай бог соврать)Где прочитать, в документации про Делфи? Ссылку дай на "int?" в Делфи. Очень интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 16:00 |
|
||
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
Про эстетику Более того, я даже сразу скажу. Список на манер генерика (в его синтаксисе) у меня как-то вызывает весьма неоднозначные ощущения. С виду просто "уе...нская" корявость (с) Тема. Неудобно, и пальцы о скобочки ломаются. (Шифт жмакать...) совсем не аргумент, коли скобочки ломает писать (ну уж если прям так ломает), лабаешь class DoubleList : List<double> и пиши везде new DoubleList(). Лишний класс, но без скобочек ;) Про эстетику Чисто внешне, чисто визуально. Как то наколеночно, да. Но это чисто вкусовое, не обессудь. ну не хош, не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 16:03 |
|
||
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
chpashaсовсем не аргумент, коли скобочки ломает писать (ну уж если прям так ломает), лабаешь class DoubleList : List<double> и пиши везде new DoubleList(). Лишний класс, но без скобочек ;) А ишшо есть Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 16:06 |
|
||
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
Алексей К Про схоластику EntityСчитаю контроль типов на этапе компиляции обязательным.Городить TXXXField-ы? Не, это не наш метод. А как быть с другими случаями? Ну это наш метод потому что as-desined. Но в целом это дурь, и... оопс, оная решается ничем иным, кроме как генерацией классов от метаданных. Просто эдакий более расширенный DataSet. Еще раз. У тебя проблема с Field[ i] где? Правильно. В прикладном коде. А системному коду, по определению, на все эти прикладные изыски (XXX) глубоко должно быть начхать, его инструмент - как раз Fields[ i] (и подобные). Вот и все. Возвращаясь к нашим баранам (сорри, пишу на вражеском языке, надеюсь будет понятно), я хотел бы нечто вроде: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Но не более того. Более - не надо. И, кстати, ты прекрасно знаешь, что, на самом деле, мне ничего не стоит получить оное (типизированные классы дейтасетов) уже сейчас, просто генерацией кода. Но извни, на кой хрен тут генерики? А? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 16:08 |
|
||
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
Значит скобочки один раз ввести нас ломает, а downcast писать при каждом обращении нас не ломает. Парадокс... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 16:08 |
|
||
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
НахлобучДавай, изобрази без генериков. Легко, если ты удосужишься объяснить смысл своего (нетленного) примера кода. Честно говоря, смысла в нем я не увидел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 16:10 |
|
||
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
Все равно не доганяю, на кой?Но извни, на кой хрен тут генерики? А?Хорошо, зададим вопрос по-другому: "На кой хрен городить всю эту халабуду с полями, когда есть дженерики?". ЗЫ: чё там с int? в Делфи, я так и не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 16:12 |
|
||
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
Нахлобуч - увы, не Буч.Легко, если ты удосужишься объяснить смысл своего (нетленного) примера кода. Честно говоря, смысла в нем я не увидел. Базовый класс для презентеров. От него все презентеры наследуются. Помимо прочего функционала он выставляет свойство View типа TView -- то есть того типа, с которым каждый конкретный (concrete) презентер умеет работать. Другими словами, в миллионе мест в коде презентера вот это: Код: plaintext 1. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 16:14 |
|
||
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
Алексей КЗЫ: чё там с int? в Делфи, я так и не понял. Леш, да нет там такой хни. Тормозным "вариантом" они раскуриваются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 16:14 |
|
||
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
Все равно не доганяю, на кой? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 16:15 |
|
||
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
Алексей КЗЫ: чё там с int? в Делфи, я так и не понял. Леш, да нет там такой хни. Тормозным "вариантом" они раскуриваются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 16:16 |
|
||
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
Алексей КЗначит скобочки один раз ввести нас ломает, а downcast писать при каждом обращении нас не ломает. Парадокс... Какие такие downcast? Подумай сам еще раз. В задаче на списки, при open array - нет, не ломает, т.к. он типизирован. А там где ломает - режется типизированный TTypedList. Спиномозговым движением десяток строк кода. И нет никаких (Objects[ i] as Type).Abyrvalg. Самая тяжелая методика выглядит примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. В чем криминал то? или и вовсе Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Что тут downcast-ового? Где? Я бы даже спример на foreach привел, но я его не использую в виду проблем с обратной совместимостью (хоть он еще короче). Итого, о чем ты (что ломать то должно?), я, увы хз вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 16:18 |
|
||
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
МСУ Алексей КЗЫ: чё там с int? в Делфи, я так и не понял. Леш, да нет там такой хни. Тормозным "вариантом" они раскуриваются.Походу или я не правильно понял, или он чё-то не то ляпнул. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 16:18 |
|
||
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
Все равно не доганяю, на кой? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Но не более того. Более - не надо. Но извни, на кой хрен тут генерики? А? TIntegerField, TStringField и сотоварищи будешь руками писать? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 16:20 |
|
||
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
Какие такие даункасты?Что тут downcast-ового? Где? Тут Код: plaintext ЗЫ: Несколькими постами выше Нахлобуч о том же спросил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 16:21 |
|
||
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
Алексей К Все равно не доганяю, на кой? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Я привел идеальный (не реальный) пример. Про то, что DataField: string неплохо было бы мочить (переводить на Field: TField) я уже говорил отдельно. Но не о том пока речь. Хотя конечно, ты можешь рассказать, зачем эдитору нужно явно знать тип поля. Чур, ба, щас. TDBDateTimeEdit. Да. Ему нужен TDateTimeField. Ну и проруби ты явно: property Field: TDateTimeField для published свойства, делов то. Генерики тут точно не нужны. Явный конктроль типа, и баста. Можно назначать его, или наследников. Все просто, как двери. P.S. А вот в инстпекторе да, было бы прикольно, если бы светился сразу InvoiceDataSet.DOC_DATE как поле биндинга (в явном типе, а не виде строки для позднего связывания). Глупый работы было бы как минимум в два раза меньше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 16:25 |
|
||
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
Кстати, про Nullable<T> я не отстану. Этого реально не хватает в Делфи. Эта задача естественным образом решается с помощью дженериков, и Variant ему не замена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 16:25 |
|
||
|
VS 2008, WPF и визуальное наследование (окон, форм)
|
|||
|---|---|---|---|
|
#18+
Какие такие даункасты?В задаче на списки, при open array - нет, не ломает, т.к. он типизирован . Какие такие даункасты?Item := List as TTypedItem; Или ты дурак, или одно из двух. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2008, 16:27 |
|
||
|
|

start [/forum/topic.php?fid=21&msg=35359917&tid=1443088]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 261ms |
| total: | 421ms |

| 0 / 0 |
