powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Java 8 - уже не совсем Java?
25 сообщений из 448, страница 9 из 18
Java 8 - уже не совсем Java?
    #39173796
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
Вы немного лукавите...
Т.к. за первым вариантом скрывается класс. где есть куча аннотация с параметрами.

А во втором варианте класса нету чтоли? Он есть и в первом и во втором варианте, ну да в случае ОРМ там есть еще аннотация @Entity... :)
mad_nazgulЭто если не надо делать "JOIN".
Тогда еще надо повозиться с @OneToMany, @ManyToOne и выбрать стратегию для fetch (n+1 запросов таки...).

Опять же эта работа никуда не исчезает ни в первом ни во втором варианте. Я же говорил место ОРМ - это в основном довольно-таки прозрачный CRUD для сущностей которые ложатся один-в-один на таблицу. Для остальных случаев есть широкий спектр вариантов от хранимок до createNativeeSQL("select join join ")
mad_nazgulТ.е. по объему кода не меньше.

Гораздо меньше, декларативные транзакции, открытие коннешена, обработка исключений, маппинг в\из объекта уходят.
mad_nazgulА вот гибкости гораздо меньше.

С чего вдруг?
mad_nazgulЭто не говоря если не нужны рекурсивные запросы и прочие "плюшки" современного SQL.
Если нужны, то ХП.

Ну нужна ХП точечно - в чем проблема? CallableStatement в руки и впперед. Если процедур много - ну так зачем изначально брался ОРМ? ССЗБ :)

mad_nazgulТ.о. развитие проекта:
ORM -> ХП для того, что нельзя сделать в ORM -> вся БЛ в ХП -> Как мы избавились от ХП и стали спать спокойно -> ORM.
Так лучше сразу не использовать ORM, чем потом тратить силы на "выпиливание" ХП их проекта.
<:o)
Довольно спорно. Опять же надо просто хорошо понимать что дает ОРМ и когда его надо использовать, а когда - нет. тут все зависит от квалификации.
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39173806
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКод вполне себе имеет право на жизнь. Может этот код - одноразовый.
Мы-же с вами не критикуем bash/python скрипты сисадминов.
А они - куда более убогие и одноразовые. И пишуться чтобы решить
сиюминутную задачу.

И какой смысл нам сейчас тут обсуждать рефакторинг и разделение
на layer этого сервлета если всё ТЗ мы нечитали и не знаем что с ним
будет дальше.

Такой код не имеет права на жизнь ни в каком случае, и тут даже не надо смотреть ТЗ. Он ни дает ни ЕДИНОГО преимущества и создает огромную кучу потенциальных проблем. Это как заклеить дыру в стену жвачкой. Вы правы говоря об утилитах для админов, но это паблик сайт судя по всему, и подход у товарища не единоразовый а на постоянке. А в паблик сайтах вероятность изменений over 99%. Я просто по-человечески сочувствую человеку, который будет заниматься редизайном таких вот сайтов(ну там респонсив дизайн или адаптированный под мобилку, хотя в этом случае любой редизайн = переписыванию с нуля).
Вот вы опытный человек и к вам прислушиваются, а вы говорите такие вещи, которые поощряют лень и успокаивают неокрепшие умы молодых программистов, а потом приходят джуны и говорят вашими словами, начитавшись форумов.
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39173814
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Молодым и неокрепшим я читал курс основ по всем правилам как положено
на предприятии.

Но в рамках нашего топика я просто немного пошатал основы чтобы вызвать
дискурс. Вызвал? - Хорошо. Сомнения это всегда хорошо.

Как говорил Лавр Федорович Вунюков - Плохо когда на все ответы у нас нет вопросов!
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39173815
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Это еще мой один брошеный камень в адрес "Фаулера головного мозга"
и болезни под названием хроническое недо-пере-проектирование всего и вся.


Ну давайте делать однострочные названия у переменных, называть классы A.java и B.java так ведь быстрее, не закрывать Reader, не проверять на нулл, все это излишнее.
Все-таки есть некоторые базовые принципы, которым надо следовать всегда и везде.
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39173817
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы демонизируете меня Бох с вами.
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39173818
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonМолодым и неокрепшим я читал курс основ по всем правилам как положено
на предприятии.

Но в рамках нашего топика я просто немного пошатал основы чтобы вызвать
дискурс. Вызвал? - Хорошо. Сомнения это всегда хорошо.

Как говорил Лавр Федорович Вунюков - Плохо когда на все ответы у нас нет вопросов!

Да к вам претензий нет, просто люди обычно жадно впитывают то что им понятно и созвучно с их мыслями и тупо игнорят все остальное, ваши оговорки хороши для умных, солидных людей, а большинство просто увидит что вы не видите ничего плохого в том чтобы пихать резалтсет в вывод сервлета.
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39173945
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никА во втором варианте класса нету чтоли? Он есть и в первом и во втором варианте, ну да в случае ОРМ там есть еще аннотация @Entity... :)


Нету. Есть класс для БЛ, а не класс @Entity.
Например сейчас у меня задача взять данные из БД и разложить в классы. которые будут отправляться по web-сервису.
Не смотря на то, что там куча вложенных тегов, из БД все вытаскивается одним запросом.
Но для отправки нужно создать несколько классов.
А так читать в сущность, из сущности перекладывать в объекты.
И так обычно со всеми остальные задачами, которые не укладываются в стандартный CRUD.

забыл никОпять же эта работа никуда не исчезает ни в первом ни во втором варианте. Я же говорил место ОРМ - это в основном довольно-таки прозрачный CRUD для сущностей которые ложатся один-в-один на таблицу. Для остальных случаев есть широкий спектр вариантов от хранимок до createNativeeSQL("select join join ")


ORM подходят для очень стандартных CRUD'ов.
Но тогда удобно пользоваться Spring-data
Описал сущности, объявил интерфейс.
И все, работаешь с готовым слоем DAO.

Смысла в NativeQuery, лично я не вижу.
Мне проще работать с JdbcTemplate

забыл никГораздо меньше, декларативные транзакции, открытие коннешена, обработка исключений, маппинг в\из объекта уходят.


JdbcTempalte же! ;-)
Дает все что вы говорите. Но оставляет всю силу SQL.

забыл никНу нужна ХП точечно - в чем проблема? CallableStatement в руки и впперед. Если процедур много - ну так зачем изначально брался ОРМ? ССЗБ :)


Сами по себе ХП не проблема...
Проблема в том, что их начинают использовать не к месту.
При использовании ORM это происходит всегда...

забыл никДовольно спорно. Опять же надо просто хорошо понимать что дает ОРМ и когда его надо использовать, а когда - нет. тут все зависит от квалификации.

Вот!
В этом и проблема!
ORM всегда преподносится как "простой" способ работы с БД.
Но никто никогда не говорит, что ORM накладывает серьезные ограничения на работу с БД.
Единственным естественным способом работы с БД, является SQL.

Для себя я решил.
Если что-то нельзя сделать ч/з Spring-Data, то не надо использовать ORM. ;-)
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39173947
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТакой код не имеет права на жизнь ни в каком случае, и тут даже не надо смотреть ТЗ.
голая фраза без обяснения - лай собаки в пустыне....
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39174046
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяавторТакой код не имеет права на жизнь ни в каком случае, и тут даже не надо смотреть ТЗ.
голая фраза без обяснения - лай собаки в пустыне....
Вадя, признавайся, ты даже про String.format похоже не слышал? Тебе не очевидна разница в читаемости между конкатенацией html и генерацией конечного html с помощью шаблона и данных?
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39174092
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,

Совершенно верно, есть куча инстурментов, spring-data тоже очень даже ничего, а есть еще nosql и тд. Только spring-data это в некоторой степени и есть облегченный ОРМ, в таком случае непонятно о чем спорите:) Если вы против Хибернейта и hql - так я тоже не фанат, все зависит от проекта. HQL писал последний раз лет 5 назад. Тут товарищ в принципе не понимает что такое MVC и Layer Separation, вот в чем беда
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39174177
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaвадяпропущено...

голая фраза без обяснения - лай собаки в пустыне....
Вадя, признавайся, ты даже про String.format похоже не слышал? Тебе не очевидна разница в читаемости между конкатенацией html и генерацией конечного html с помощью шаблона и данных?

ну понятно, что надо нагородить большестрок кода, что по-больше заплатили.
если тебе не понято, что приведено в примере, то о чём речь?
там к примеру в зависимости от данных есть добавляется класс или нет.
в зависимости от данных строится весь html
сможешь это организовать с помощью прокладок?
давай повтори приведённые пример по своему, сравним число строк, читаемость кода.
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39174189
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяchpashaпропущено...

Вадя, признавайся, ты даже про String.format похоже не слышал? Тебе не очевидна разница в читаемости между конкатенацией html и генерацией конечного html с помощью шаблона и данных?

ну понятно, что надо нагородить большестрок кода, что по-больше заплатили.
если тебе не понято, что приведено в примере, то о чём речь?
там к примеру в зависимости от данных есть добавляется класс или нет.
в зависимости от данных строится весь html
сможешь это организовать с помощью прокладок?
давай повтори приведённые пример по своему, сравним число строк, читаемость кода.

Говоришь тебя на собеседованиях прокидывали за некрасивые глаза? :)
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39174202
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никвадяпропущено...


ну понятно, что надо нагородить большестрок кода, что по-больше заплатили.
если тебе не понято, что приведено в примере, то о чём речь?
там к примеру в зависимости от данных есть добавляется класс или нет.
в зависимости от данных строится весь html
сможешь это организовать с помощью прокладок?
давай повтори приведённые пример по своему, сравним число строк, читаемость кода.

Говоришь тебя на собеседованиях прокидывали за некрасивые глаза? :)
не прокидывали :)
сранительный код слабо ?
убеди меня, что у меня хуже...
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39174252
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадязабыл никпропущено...


Говоришь тебя на собеседованиях прокидывали за некрасивые глаза? :)
не прокидывали :)
сранительный код слабо ?
убеди меня, что у меня хуже...

Эмм. ну подумай для начала что будет если вдруг понадобится менять табличный дизайн на верстку дивами... :)
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39174262
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никmad_nazgul,

Совершенно верно, есть куча инстурментов, spring-data тоже очень даже ничего, а есть еще nosql и тд. Только spring-data это в некоторой степени и есть облегченный ОРМ, в таком случае непонятно о чем спорите:)


Spring-data это не ORM.
Т.к. он позволяет работать не только с СУРБД, но и noSql.
Это скорее толстый слой "синтаксического сахара", для работы с БД.

забыл никЕсли вы против Хибернейта и hql - так я тоже не фанат, все зависит от проекта. HQL писал последний раз лет 5 назад. Тут товарищ в принципе не понимает что такое MVC и Layer Separation, вот в чем беда

А зачем понимать?!
Главное уметь пользоваться гуглом и stackoverflow :-)
Если что тим лид волшебным пенделем объяснит, что и почему.
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39174275
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никвадяпропущено...

не прокидывали :)
сранительный код слабо ?
убеди меня, что у меня хуже...

Эмм. ну подумай для начала что будет если вдруг понадобится менять табличный дизайн на верстку дивами... :)
а если камень с неба?
таких если я могу привести море, на все случаи не угадаешь
поэтому под конкретное место - конкретное решение, если где потребуется (в возможных планах) что-то модифицировать - там будет отдельное решение.
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39174279
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяну понятно, что надо нагородить большестрок кода, что по-больше заплатили.
нету хуже случая, чем воинствующий дурачек.

вадяесли тебе не понято, что приведено в примере, то о чём речь?
о том, чтоб сделать понятно

вадясможешь это организовать с помощью прокладок?

нет конечно, но умру пытаясь

Код: html
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.
   <t:grid t:id="customersGrid"
            t:source="customersSource"
            t:pagerPosition="top"
            t:rowsPerPage="10"
            t:rowClass="currentRowClass"
            t:row="currentCustomer">


        <p:nameCell>
            <t:companyinfo company="currentCustomer"/>
        </p:nameCell>

        <p:supervisorCell>
            ${currentCustomer?.supervisor?.personal?.surname} ${currentCustomer?.supervisor?.personal?.name}
        </p:supervisorCell>

        <p:plzCell>
            ${currentCustomer?.address?.postcode?.bundesland?.country?.code}-${currentCustomer?.address?.postcode?.plz}
        </p:plzCell>

        <p:ortCell>
            ${currentCustomer?.address?.postcode?.ort}
        </p:ortCell>
    
        <p:empty>
            <div class="no-data">${message:General.noData}</div>
        </p:empty>

    </t:grid>



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
public class Customers {


    @Inject
    private CompanyService companyService;

    @Inject
    private Logger logger;

    @Inject
    private Messages messages;

    @Override
    public PaginatedGridDataSource<Customer> getCustomersSource() {
        return new CustomerGridDataSource(companyService.getCustomers());
    }

    //вот тебе класс
    public String getCurrentRowClass() {
        return currentCustomer.getIsValid() ? "" : " deleted";
    }
}



можно на каком-нибудь фримаркере или любом другом движке темплейтов генерить
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
<table>
    <thead>
        <tr>        
            <td>${fieldName1}</td>
            <td>${fieldName2}</td>
            <td>${fieldName3}</td>
            <td>${fieldName4}</td>
        </tr>
    </thead>
    <tbody>
        <tr>
            <#list records as rec>
                <td class="${rec.even?then('even', 'odd')}">${rec.value1}</td>
                <td>${rec.value2}</td>
                <td>${rec.value3}</td>
                <td>${rec.value4}</td>
            </#list>
        </tr>
    </tbody>
</table>




можно какой-нить js-framework использовать. но никогда, слышь вадя, никогда не генери в серьезном проекте html с помощью print. тебя проклянут в веках.


вадядавай повтори приведённые пример по своему, сравним число строк, читаемость кода.
вперед, начинай сравнивать
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39174281
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
Spring-data это не ORM.
Т.к. он позволяет работать не только с СУРБД, но и noSql.
Это скорее толстый слой "синтаксического сахара", для работы с БД.


Замечание правильное, только в разрезе темы не существенное, ну да назовем это Object Persistence Storage Mapping, но это не отменяет того факта что это будет упрощающая обертка и выделенный слой.

mad_nazgulА зачем понимать?!
Главное уметь пользоваться гуглом и stackoverflow :-)
Если что тим лид волшебным пенделем объяснит, что и почему.

Ну там судя по уровню постов, волк-одиночка, сам себе архитектор дизайнер и проктолог.
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39174293
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никНу там судя по уровню постов, волк-одиночка, сам себе архитектор дизайнер и проктолог.
с 30-летним опытом акцеса!!! так что нечего учить дядю, каким пальцем в попе колупаться, давайте уже считать строчки!
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39174298
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадязабыл никпропущено...


Эмм. ну подумай для начала что будет если вдруг понадобится менять табличный дизайн на верстку дивами... :)
а если камень с неба?
таких если я могу привести море, на все случаи не угадаешь
поэтому под конкретное место - конкретное решение, если где потребуется (в возможных планах) что-то модифицировать - там будет отдельное решение.

Тебе сказали что код говно, потому что не maintainable. Ты спросил почему не maintainable - тебе привели пример. Очевидно, что ты не имеешь представления о командной работе, разделении ролей и общих паттернах проектирования, списывая свою лень разобраться в этом на то что все дураки. Ну да и фиг с ним, но когда ты лезешь с советами к другим, то не обессудь когда получишь очередной пинок.
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39174306
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,
утебя еще нет обращения к базе...
да за это количество строк ты получишь больше...
и ещё они в разных файлах
посмотреть в одном, переключиться на другой...
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39174334
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяchpasha,
и ещё они в разных файлах
посмотреть в одном, переключиться на другой...

День считай сделан
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39174336
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяутебя еще нет обращения к базе...
а вдруг там не база, а rest-client или вообще тестовая заглушка? oт того, что я допишу пару строк "псевдо"-кода, суть не поменяется. ну если мы не собираемся реально оценивать код кол-вом строк.

вадяда за это количество строк ты получишь больше...
из этой фразы я заключаю, что мой пример лучше, но тебе гордость не позволяет это признать так? честно говоря не знаю, в каких краях платят за кол-во кода.

вадяи ещё они в разных файлах
у тебя на кухне ингредиенты для борща отдельно хранятся или уже все сразу в кастрюле?


вадяпосмотреть в одном, переключиться на другой...
да, адские мучения, особенно если в блокноте пишешь. а ты вот когда html пишешь, у тебя кстати css отдельно или тоже все в одном мешке? ты не думал о том, что когда нужно поменять стиль таблицы, код доступа к данным не особо интересен, и наоборот - когда я хочу where модифицировать, html мне не нужен.
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39174362
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,
на вдруг бывает пук, пишется под конкретные условия, а не на "а вдруг"
мне твой код не нравится, тебя устраивает- пиши так.
твои высказывания напоминают высказывания Хрущёва по поводу выставки...
...
Рейтинг: 0 / 0
Java 8 - уже не совсем Java?
    #39174391
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяна вдруг бывает пук, пишется под конкретные условия, а не на "а вдруг"
если у тебя ума немного больше, чем у калькулятора, то пишешь всегда (когда речь о проекте, а не скрипте) так, чтобы максимально легко было код тестировать, модифицировать и расширять. невозможно предусмотреть все, но пытаться можно. хотя бы для начала разделяя код на слои?

вадямне твой код не нравится, тебя устраивает- пиши так.
а судьи кто? можно поинтересоваться твоим образованием и квалификацией?

вадятвои высказывания напоминают высказывания Хрущёва по поводу выставки...
слышал о том, что воинский устав написан кровью? примерно догадываешься почему так говорят? как думаешь, у нас все по-другому или аналогия уместна?

з.ы. ты так и не ответил - как несомненный эксперт в области конкатенации строк, ты про String.format слыхал или в акцесе такого не было?
...
Рейтинг: 0 / 0
25 сообщений из 448, страница 9 из 18
Форумы / Java [игнор отключен] [закрыт для гостей] / Java 8 - уже не совсем Java?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]