![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
Здравствуйте, уважаемые.
Мне очень интересно узнать, стиль типа
на сколько расточителен и стоит ли его использовать? Я знаю что hibernate активно использует этот стиль к примеру для Criteria... А если подумать на сколько такой подход замедляет ход, если вообще замедляет? |
|||
|
||||
LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Замеляет по сравнению с чем? По сравнению с:
? Мне такой подход очень нравится, в некоторых случаях читаемость получается весьма хорошая читаемость:
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
Да именно. но, если к примеру, функция только устанавливает значение:
получается операций в 2 раза больше. Так скажем, делаешь цепочку, и оборачиваешь поля в методы, только лишь потому, что так намного удобней писать. Добавлено @ 14:28 Кстати, данная тема навеяно этой темой Работая с GridBagConstraints пришел к выводу, благодаря w1nd конечно, что с нами тоже можно работать, только немножко обернуть поудобней. Так вот там вместо прямого доступа к полям я сделал такие цепочки. Это сообщение отредактировал(а) Platon - 13.3.2008, 14:28 |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Работать то конечно будет помедленней, но не думаю, что это то место которое стоит оптимизировать.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
Хорошо, спасибо за ответ.
|
|||
|
||||
niasilil |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 4.6.2007 Где: USA Репутация: 8 Всего: 9 |
кстати, одно из предложений для java 7 - чтобы все void методы по умолчанию возвращали this. Тогда такие цепочки будет легко писать. Читается тоже легко.
http://tech.puredanger.com/java7#chained -------------------- SCJP 5.0, SCJD |
|||
|
||||
serger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 19.6.2007 Где: Ижевск Репутация: 1 Всего: 5 |
Угу, а если перемешать с методами, которе возвращают не this? тоже легко читается?!
-------------------- упс! |
|||
|
||||
niasilil |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 4.6.2007 Где: USA Репутация: 8 Всего: 9 |
Думаю нет, мне эта идея не по душе. Уж если void, то и не должен ничего возвращать. Но меня не спросят. Сделают - будем пользоваться. ![]() -------------------- SCJP 5.0, SCJD |
|||
|
||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
||||
|
||||
LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Он имеет в виду, что если в цепочке:
попадется, метод который возвращает не void, то результат будет не совсем таким как може показаться на первый взгляд. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
Ха, в таком случае, текущий пример с таким же успехом может возвращать не текущий объект, что нибудь другое, вот execute() к примеру возвращает не MyObject, а результат работы.
В общем, serger, не аргумент. Это сообщение отредактировал(а) Platon - 15.3.2008, 13:56 |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
В этом случае читаемость тоже будет ужасная. Если вначале цепочки мы конфигурируем один объект, потом получаем другой объект и уже работаем с ним, то это станет источником потенциальных проблем. Т.к. не сразу заметно то место, где от одного объекта перешли к другому. Так лучше не делать. Одно дело если это применяется к месту. Совсем другое дело когда это можно будет делать повсеместно благодаря тому, что вместо void мы будем получать this. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
Однозначно к месту!!! Цепочный стиль как рас сделан для удобного письма и чтения. Мы же все прекрасно понимаем, что даже самое чистое и невинное можно запятнать и опошлить. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |