|
|
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Интересно, кто-нибудь юзает Lombok? Впечатления, отзывы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2015, 21:19 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
использую для себя. Не нужно генерить сеттеры\геттеры, toString. Для Идеи подключен плагин. Для больших проектов, возможно, увеличит время компиляции, хотя на много ли.. это вопрос :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2015, 21:59 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Изначально были сомнения,но все хорошо и впечатления положительные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2015, 22:07 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
rema174, Сам не использую, но видел на одном проекте. Впечатления положительные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2015, 10:41 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Использую, потому что в java нет языковых сеттеров-геттеров, а эти простыни сеттеров-геттров - вымораживают. Вприницпе, можно еще подключить груви, там есть аннотации которые делают всякоразные AST-трансформаци еще на этапе компиляции, но: - Если собираешь проект градлом, то это не работает, т.к. groovy-компилятор делегирует компиляцию java в java-компилятор - сам по себе groovy-компилятор не понимает конструкцию do-while - некоторый синтаксис java 8 groovy-компилятор тоже непонимает. Например, если в интерфейсе обьявить default-метод, то он не увидится в groovy. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2015, 13:39 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Активно юзаю для Java проектов. Впечатления положительные, полностью прозрачная интеграция с эклипсом и мавеном. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2015, 16:26 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
лобок не исользовал, но из-за того чтобы вместо getField писать @Getter и тянуть еще 1 зависимость в проект ну хз, я бы не стал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2015, 16:56 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
no56892, в JSF-ных бинах вся эта мишура легко занимает половину кода класса. Спринговые бины тоже не подарок. А доменная модель с аккуратными полями и охапкой аннотаций на полях просто эстетически приятнее, чем генеренная простыня. типа Код: java 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2015, 18:27 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Положительные впечатления. можно сделать так: @Data @AllArgsConstructor @NoArgsConstructor @Builder public class User{} и потом Создать объект так: User().builder().name("Ivan").age("50").build() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 10:51 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
yams... и потом Создать объект так: User().builder().name("Ivan").age("50").build() Жесть. Как мне жалко современные процессоры и электростанции. Это же сколько же тактов и электричества во всем мире зря на такую фигню тратится ((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 12:03 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, Ну что поделаешь. Один программист за месяц обходится минимум в 50 тыщ деревянных. На эти деньги можно закупить немало тактов и электричества. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 12:20 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
я попробовал уже применять. там в большинстве случаем достаточно одной аннотации. по крайней мере, открывая класс сразу видно какой метод в классе изменен. но надо полагать, что мэтры двава не находят необходимости в такой фиче, иначе бы уже встроили стандартно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 12:23 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
rema174я попробовал уже применять. там в большинстве случаем достаточно одной аннотации. по крайней мере, открывая класс сразу видно какой метод в классе изменен. но надо полагать, что мэтры двава не находят необходимости в такой фиче, иначе бы уже встроили стандартно. Ну, потому что для любителей лаконичного синтаксиса уже есть Groovy и Scala. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 12:38 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Название какое-то противное. Ну, посмотрел, что это такое - набор бесполезных аннотаций. Нафиг дурацкие украшения. Это напомнило мне афёру (или аферу?) фирмы JetBrains, которая ввела совершенно бесполезные аннотации @Nullable и @NotNull, которые вызвали восторженный визг фанатов IDEA, дошедших до утверждения, что они должны быть введены в стандарт Java. В действительности их смысл был в том, чтобы привязать исходный код к IDEA. Прекрасно обхожусь и без этих аннотаций, и без IDEA, и lombok (извиняюсь за выражение) тоже не нужен. Примечание. Scala нужна для любителей выпендриваться, а Groovy - для тех, кому нужен скриптовый язык с синтаксисом Java, а не для любителей краткости. Краткость в нём не самоцель, а средство обеспечения надёжности - по сравнению с Java он менее надёжен из-за динамической типизации. Но он не предназначен для крупных программ, а если программа небольшая, то устранение из неё шаблонного кода (boilerplate code) в стиле Java повышает наглядность программы и тем самым в какой-то степени помогает не ошибаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 14:07 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Да, забыл описать, почему в Scala сокращение шаблонного кода для повышения наглядности неэффективно в отличие от Groovy. Groovy предназначен не для замены Java, а как дополнение к Java. Из этого можно сделать вывод, что автор Groovy - умный (хотя тогда он пользовался IDEA). Scala была предназначена для замены Java. Разумеется, эта глупая надежда не могла сбыться и не сбылась. Но раз Scala должна была конкурировать с Java, значит должна была быть пригодной крупных программ. А в крупных программах - сложная логика, поэтому и в Java доля шаблонного кода в них невелика. А get и set в Java, хоть и увеличивают код, но по-моему, не влияют на его наглядность, поскольку их не надо разглядывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 14:54 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Partisan M, от кода зависит. Повторюсь, в JSF-ных бинах и частично в спринге этот мусор занимает достаточно много места, что реально мешает выделять код, несущий полезную нагрузку. Насчет Scala... Scala - это не замена Java, и, что важнее, это НЕ Java. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 15:09 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Мы пытались прикрутить lombok к GWT-проекту но shared часть не собиралась. Поскольку лимит времени на разборки был ограничен - то отложили. Думаю что возвращаться к ломбоку не будем. Неперспективно. Лучше всё-таки смотреть в сторону Scala/Groovy чем развивать надстройку над языком Java. Теряется некая концептуальная простота кода с точки зрения читающего. Вообще многие публикации сорцов без указания секции import вызывают глухое раздражение. Хочется взять и уе... пофиксить вобщем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2015, 16:35 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
maytonТеряется некая концептуальная простота кода с точки зрения читающего. а какая такая особая концептуальность в стандартных геттера-сеттерах, тустригах и прочая? :) все-таки groovy, и тем более Scala, это своя экосистема. и что проще, пара аннотациий или разворот на n-градусов? например, удастся ли использовать груви в jsf проекте? или нужно все менять, так это будет еще менее концептуально ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 14:26 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
rema174например, удастся ли использовать груви в jsf проекте? или нужно все менять, так это будет еще менее концептуально ) Насколько я понимаю груви генерирует java-байткод поэтому я априори считаю что удастся. Если что-то не удаётся то давайте рассмотрим этот вариант и изучим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 16:38 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
maytonНасколько я понимаю груви генерирует java-байткод поэтому я априори считаю что удастся. Если что-то не удаётся то давайте рассмотрим этот вариант и изучим. Оно там во всю использует рефлексию и заворачивает вызовы в свои утилиты, поэтому и работает относительно медленно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 16:46 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, рефлексия в нынешней java не настолько медленна, как это было раньше, поэтому можно смело её использовать, и если есть тормоза, то не факт, чт из-за рефлексии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 17:22 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
вадяBlazkowicz, рефлексия в нынешней java не настолько медленна, как это было раньше, поэтому можно смело её использовать, и если есть тормоза, то не факт, чт из-за рефлексии Рефлексию можно использовать до тех пор пока она не становится повсеместной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 17:37 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
BlazkowiczРефлексию можно использовать до тех пор пока она не становится повсеместной. Ну, так и груви вполне себе используют, для мест не критичных к производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 17:37 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
maytonНасколько я понимаю груви генерирует java-байткод поэтому я априори считаю что удастся. Если что-то не удаётся то давайте рассмотрим этот вариант и изучим. Можно но есть некоторые особенности. В часности, старожил форума и java-гуру mayton считает, что удастся. Это уже должно настораживать, потому что такая формулировка означает, что такой фичей он никогда не пользовался. Почему не пользовался? Или есть какие-то подводные камни, или неудобно, или есть что-то лучше. Или просто не надо было. В грувях есть аннотация @CompileStatic, которая отключает некоторые фишки что ускоряет работу, делая ее достаточно близкой java. Хотя, некоторый дополнительный код все же остается. С другой стороны, груви делает вызовы через рефлекшен, это означает, что могут быть некоторые особенности с АОП. А еще я нарывался на то, что груви достаточно сложно было полностью подружить с PowerMockito, и хотя по большей части они дружились, сделать нормальный mock MappedByteBuffer-а неполучилось. Подробностей не помню, но насколько помню, суть в том, что у PowerMockito есть аннотация @PrepareForTest которая грузит класс своим класслоадером - с инструментацией байткода. И эта инструментация идет не так когда методы дергаются через рефлекшен. В конечном итоге - написал этот тест на java. Но вобщем, это все мелочи, которые решаются. Для некоторых вещей груви реально удобней. Даже в спринге появился конфиг на груви, и он лаконичней xml. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 17:51 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Может я не врубаюсь, но в чем проблема Груви и Java Server Faces ? В Oracle ADF при описании GUI Груви во весь рост и даже с ним перебор IMHO. Никаких проблем вроде нет, кроме того, что все эти "скриптовые" языки со своими ошибками в run time лично меня добивают (мне хочется опечатки видеть во время компиляции, а не в райнтайме) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 20:10 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, Что мешает ставить @CompileStatic? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2015, 12:06 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
В IDEA генерация методов есть, пару секунд времени занимает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2015, 23:25 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Valery Shiskin, У меня печальные новости. Я очень большой фанат груви. Я обожаю груви для написания скриптов и всегда использовал этот язык, когда мне надо было данные с сайта скачать, логи распарсить или обработать табличные данные. Вот вчера я скачал Eclipse Mars и поставил на него groovy-eclipse. И с удивлением обнаружил, что автокомплит в пустом грувёвом проекте - не работает. Пошукав по интернетам, я обнаружил, что codehaus мертв, груви никем толком не поддерживается и не развивается, с groovy-eclipse разбежались все девелоперы. Scala я уже знаю, а для более простых задач придется учить питон... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2015, 10:18 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Еще можно JS взять. Стильно, модно, молодежно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2015, 10:54 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Alexander A. Sak, насколько я знаю, там до сих пор печаль с типичнейшими задачами. Как можно брать в качестве рабочего язык, где в комплекте даже коллекций приличных нет? Я немного не в теме, но есть ли стандарт или хотя бы общеиспользуемые либы для: - List, Set, Map, sorted map, linked map с компаратором? equals в яваскрипте не предусмотрен же. - рекурсивного обхода дерева каталогов - прочитать файл в массив байт или в строку с указанием кодировки - запарсить CSV, JSON, XML (нужен и DOM, и потоковые парсеры) - парсинга HTML - полноценный HTTP клиент ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2015, 12:18 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
z3r9В IDEA генерация методов есть, пару секунд времени занимает. Это "write-only" разработка. Проблема не в скорости набора бойлерплейт-кода, а в его наличии. Писать легко, поддерживать тяжко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2015, 16:10 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
scfScala я уже знаю Я здесь выпал в осадок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2015, 16:29 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
scfAlexander A. Sak, насколько я знаю, там до сих пор печаль с типичнейшими задачами. Как можно брать в качестве рабочего язык, где в комплекте даже коллекций приличных нет? Я немного не в теме, но есть ли стандарт или хотя бы общеиспользуемые либы для: - List, Set, Map, sorted map, linked map с компаратором? equals в яваскрипте не предусмотрен же. - рекурсивного обхода дерева каталогов - прочитать файл в массив байт или в строку с указанием кодировки - запарсить CSV, JSON, XML (нужен и DOM, и потоковые парсеры) - парсинга HTML - полноценный HTTP клиент Я имел в виду JS в виде скриптового языка в Java. Rhino или Nashorn. Там, естественно, доступно все наследие Java. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2015, 17:59 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
z3r9В IDEA генерация методов есть, пару секунд времени занимает. В наше время It-сегмент переосмысливает то что было создано в двухтысячные. А в двухтысячные было создано много ложных направлений. Например кодогенерация в средах. Наплодили огромную тучу неподъёмного сорца. Сегодня никто не хочет рефакторить или реверсить старый сорц. Дешевле иногда новое написать. Современный Веб ищет лаконичности. И все направления в исследовании применения языков ФП (F#, Scala, Ruby) это эхо поисков. Языки сокращают свой синтаксис. Выбрасывают то что совершенно правильно было названо бойлер-плейтом. Посмотрите вебинары и конференции по Java. Трендом является лаконичность. Я видел фреймворки которые специально писались под Groovy. Даже попытки перенести скриптовый JS на сервер - это тоже определённый тренд. Тренд на объективное уменьшение объёма кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2015, 18:59 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
scf, Тем не менее, новые версии груви выходят, оракловцы делают в java9 поддержку более легкого лоадинга-анлоадинга скриптов - это для всех скриптовых языков, и тд и тп. Просто, проект переехал на апач. Ну так в этом виноваты все любители груви - надо было активней покупать поддержку. А то как пользоваться - так очередь выстраивается, а как оказать материальную помощь авторам - так "оно ж бесплатное". Скала сложная, медленная, и язык это не скриптовой. Вобщем, на любителя штука. На большого любителя. ИМХО, груви будет жить, потому что критическое кол-во нормального софта на нем уже написано, программисты его полюбили, а лучшей альтернативы нет и не будет еще какое-то время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2015, 19:00 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Еще что мега-удобно в ломбоке - это наличие @Cleanup аннотации, которая трансформирует код, как будто он написан в стиле try-with-resources. Благодаря этому можно избавиться от некрасивой вложенности, и писать в "плоском" стиле как-то так: Код: java 1. 2. 3. 4. 5. 6. 7. Особенно удобно это когда пишешь что-то хитрое, и получается много уровней вложенности и страдает читаемость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2015, 15:42 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
chabapok, а как со стрек-трейсами ошибок и дебагом? а то в eclipse удобство работы с лямбдами страдает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2015, 16:16 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
chabapokЕще что мега-удобно в ломбоке - это наличие @Cleanup аннотации, которая трансформирует код, как будто он написан в стиле try-with-resources. Благодаря этому можно избавиться от некрасивой вложенности Особенно удобно это когда пишешь что-то хитрое, и получается много уровней вложенности и страдает читаемость. наверное, но именно в кетче иногда удобно сделать "ход конем" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2015, 16:59 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
pavel_nvchabapok, а как со стрек-трейсами ошибок и дебагом? а то в eclipse удобство работы с лямбдами страдает... А что может быть не так со стектрейсами и дебагом? Я пользуюсь ли идеей или нетбинсом. к коду блока finally, который генерится, прикрепляется метаинформация, о том, что этот блок находится в той строке, где стоит эта аннотация, поэтому, когда мы попадаем в сгенеренное finally, то среда прыгает подсвеченой строкой на соответствующую строку. Провел я тут исследовательскую работу. Есть следующий момент. Сгенеренная подчистка (насколько я представляю) могла бы выглядеть как-то так: Код: java 1. 2. 3. 4. 5. 6. 7. Lombok зачем-то делает хитрее: Код: java 1. 2. 3. 4. 5. 6. 7. 8. Я не знаю, зачем он так извращается, видимо это какая-то совместимость со старыми версиями java. Где-то писали, что это уход от каких-то предупреждений. JIT-компилятор по идее, всю эту гадость должен убрать, к тому же на производительность она все равно не влияет, т.к. блок try исполняется редко. Так же писали, что эта гадость говняет jacoco-репорты, и делает недостижимым 100% покрытия, потому что внутри singletonList().get() не выходит воспроизвести IndexOutOfBoundsException. Наверное, в очень больших проектах это может быть критично, но насколько понимаю, всем пофиг. У этих двух вариантов следующая проблема: если будет брошен экзепшен внутри try, а потом close() тоже бросит экзепшен, то наверх уйдет тот, который бросился внутри close(), а исключение в логике будет утеряно. try-with-resurces эту проблему решает более аккуратно, выпуская наверх исключение брошенное в логике, а исключение из в finally может быть внутри него: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Впринципе, да, согласен, что try-with-resources аккуратнее обращается с исключениями, но наверху как правило все равно ты это все не достаешь и не анализируешь так пристально. И если логика бросает исключение и close() бросает...ну хз конечно, но скорей всего, в этом случае все настолько плохо, что правильной работой с исключениями ситуацию не исправить. Хотя конечно, ситуации разные могут быть. rema174наверное, но именно в кетче иногда удобно сделать "ход конем" ну, если нужен catch, то понятно, что нужен явно прописаный try, а если он есть, то (насколько я понимаю) в @Cleanup просто нет смысла, хотя все равно можно написать. Тогда в результирующем коде будет два try, один вложен в другой (не проверял это). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2015, 23:47 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
chabapokЕще что мега-удобно в ломбоке - это наличие @Cleanup аннотации, которая трансформирует код, как будто он написан в стиле try-with-resources. Благодаря этому можно избавиться от некрасивой вложенности, и писать в "плоском" стиле как-то так: сомнительно. - вывести коннект ЗА процедуру используя ООП и нет проблемы - декларативное с инжекциями и аннотациями - один коннект на все твои процедуры и не надо писать в "плоском стиле". Т.е. тут всё очень индивидуально. Если писать лапшу-код, то сабж никак не поможет. Что касается Сеттеров и Геттеров, то я согласен. Тут лаконичность кода нужна. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2015, 10:51 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
Petro123- вывести коннект ЗА процедуру используя ООП и нет проблемы - декларативное с инжекциями и аннотациями - один коннект на все твои процедуры и не надо писать в "плоском стиле". Ну так речь же не о коннектах в частности, а о ресурсах вообще. Считайте, что там не коннекшен, а InputStream, например. Просто я на примере коннекта показал. Кстати, даже при работе с базой всякие PreparedStatement и ResultSet-ы могут быть. Их же не будешь инжектить, и не будешь иметь, например, 1 ResultSet на все процедуры. По этой же причине, инжекции и аннотации не всегда могут спасти. У меня вот вообще есть не веб-проекты, и там нету всех этих модных фич. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2015, 16:40 |
|
||
|
Lombok
|
|||
|---|---|---|---|
|
#18+
chabapokи не будешь иметь, например, 1 ResultSet на все процедуры мы как будто пытаемся перейти из процедурного программирования в ООП стиль программирования. chabapokУ меня вот вообще есть не веб-проекты, и там нету всех этих модных фич. тут надо конкретно. Т.к. вариантов миллион. Например, в десктопе биндинг. Т.е. сам компонент уничтожает присоединённый к себе DataSet\DataSource и т.д. Простое правило: Делаем МАКСимально работы в БД. На клиенте DataSet нужен только как источник данных к визуальному контролу. При унчитожении Parent все детки автоматом закрываются т.к. идут события. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2015, 17:01 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2124537]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
143ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
73ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 455ms |

| 0 / 0 |
