|
|
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
Собственно интересует вопрос, что лучше использовать для передачи в Controller? К примеру делал вот таким макаром, Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. но как-то нужно было передать 2 Вьюва в один контроллер или что-то такое, тогда вопрос постал, если вызывать еще раз к примеру другой конструктор, то соответственно создается другой объект. Человек который подсказывал мне, даже удивился - он сказал, что предпочитает, это все дело запихивать через Setter-ы? Так как правильнее? Какие плюсы, минусы? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2012, 20:42:03 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
_webdev_, вообще pojo как бе номекаит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2012, 12:01:05 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
Извиняюсь, утро тяжелое. Приоритетнее использовать setter`ы, да и правильнее. Причины 2: -javabean - как бе суть модульности при mvc, которая требует наличие конструктора без параметров. -в ручную вы вряд ли будете создават бины, потому будете юзать DI какие нибудь, а уж они то будут создавать испоьлзуя конструкторы по умолчанию, тогда и вовсе смысл от передачи параметров в конструктор отпадает ( не буду брать в расчет guice ..лом тоже хороший инструмент, но надо им правильно пользоваться) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2012, 12:05:46 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
Озверинконструкторы по умолчанию, тогда и вовсе смысл от передачи параметров в конструктор отпадает сам по себе смысл передачи параметров в конструктор очень даже есть . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2012, 13:23:18 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
chpashaОзверинконструкторы по умолчанию, тогда и вовсе смысл от передачи параметров в конструктор отпадает сам по себе смысл передачи параметров в конструктор очень даже есть . не читать , сразу отвечать: вы видимо имеете ввиду опыт Джошуа по использованию статических методов для конструирования объектов? Так он и не используется публичные конструкторы с параметрами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2012, 14:05:45 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
Озверинвы видимо имеете ввиду я имею в виду перечисленные пункты. в особенности it allows the object to be in intermediate states ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2012, 14:41:50 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
chpasha, все перечисленные пункты - это то самое лучшее, что враг хорошего. В Immutable объекты я перестал верить как и в дед мороза. Конструкторы мутанты, вроде testClass(N1 n1, ..., N100 n100) - меня сильно напрягают при тестировании. Фреймворки (вроде спринга) все еще верят в конструкторы по умолчани. Guice - можно инджектить уже где угодно и что угодно, но % применения его поменьше. Да и все таки смысла особого от испоьлзования конструкторов я не вижу. вот честно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2012, 16:41:45 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
авторДа и все таки смысла особого от испоьлзования конструкторов я не вижу. вот честно. Вы наверное не работали плотно с многопоточным кодом, поэтому разочаровались в Immutable, я согласен что не стоит пихать это везде, но иногда это настолько полезная штука, что аж плакать от счастья хочется) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2012, 16:55:10 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
забыл никавторДа и все таки смысла особого от испоьлзования конструкторов я не вижу. вот честно. Вы наверное не работали плотно с многопоточным кодом, поэтому разочаровались в Immutable, я согласен что не стоит пихать это везде, но иногда это настолько полезная штука, что аж плакать от счастья хочется) нет, выгоду от Immutable я понимаю. я плотно работал с aspectj и растерял веру в ООП ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2012, 16:58:46 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
авторя плотно работал с aspectj и растерял веру в ООП ;) Ну AOP перпендикулярно ООП, и во многих случаях как раз наоборот элегантно его дополняет, у класса должна быть single responsibility, а всякие там cross-cutting concerns прекрасно ложатся в ООП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2012, 17:05:33 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
тьфу, прекрасно ложатся в AOP :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2012, 17:06:29 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
забыл никавторя плотно работал с aspectj и растерял веру в ООП ;) Ну AOP перпендикулярно ООП, и во многих случаях как раз наоборот элегантно его дополняет, у класса должна быть single responsibility, а всякие там cross-cutting concerns прекрасно ложатся в ООП. а во многих других случае некоторые принципы, вроде инкапсуляции и неизменности посылает ко всем чертям;)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2012, 17:12:01 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
ОзверинФреймворки (вроде спринга) все еще верят в конструкторы по умолчани. Вера тут не при чем. Это спецификация JavaBeans, которой все придерживаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2012, 17:13:21 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
Озверинзабыл никпропущено... Вы наверное не работали плотно с многопоточным кодом, поэтому разочаровались в Immutable, я согласен что не стоит пихать это везде, но иногда это настолько полезная штука, что аж плакать от счастья хочется) нет, выгоду от Immutable я понимаю. я плотно работал с aspectj и растерял веру в ООП ;) прямо-таки еретик:) По immutale objects - вещь полезная, но жаль в java нет build-in возможности для их поддержки. Что-нибудь типа аннотации @Immutable или sort of было бы неплохо:) Руками уследить за Immutable бывает сложно. Можно накосячить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2012, 17:14:44 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczОзверинФреймворки (вроде спринга) все еще верят в конструкторы по умолчани. Вера тут не при чем. Это спецификация JavaBeans, которой все придерживаются. во втором посте я об этом и говорил ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2012, 17:21:15 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
ОзверинКонструкторы мутанты, вроде testClass(N1 n1, ..., N100 n100) - меня сильно напрягают при тестировании. есть пословица про дурака и про лоб. нужно цитировать? ОзверинФреймворки (вроде спринга) все еще верят в конструкторы по умолчанию. и с каких пор в spring нельзя инжектировать в конструкторе? другое дело что у spring есть другая возможность обеспечивать "полноту" инициализации объекта ОзверинДа и все таки смысла особого от испоьлзования конструкторов я не вижу. вот честно. если у класса до 3 обязательных зависимостей, можно использовать в полный рост. особенно если код будет юзать кто-то еще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2012, 17:52:04 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
chpasha, про лоб, не очень я понял, если честно. если критичным плюсом конструктора является возможность точно отследить, что передали все нужные аргументы, то видимо вас со временем разочаруют конструкцией, вроде: testClass(null); если других разрушительно очевидных плюсов нет, что стоит ли пренебрегать возможностью использовать setter`ы?:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2012, 17:58:58 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
Озверинchpasha, про лоб, не очень я понял, если честно. Можно создать Builder для конструкции такого рода объекта. Но если все входные параметры обязательные, то билдер не поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2012, 18:05:00 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
Озверинchpasha, про лоб, не очень я понял, если честно. если у класса 100 обязательных зависимостей, то весьма вероятно не все хорошо с головой у того, кто этот класс написал. Озверинесли критичным плюсом конструктора является возможность точно отследить, что передали все нужные аргументы, то видимо вас со временем разочаруют конструкцией, вроде: testClass(null); IllegalStateException? к тому же не понятно, почему у сеттеров с этим как-то иначе. только в примере выше имеет место явное "вредительство", а про сеттер можно элементарно забыть/не знать. Озверинстоит ли пренебрегать возможностью использовать setter`ы?:) возможность должна подкрепляться наличием осознанного выбора в каждой конкретной ситуации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2012, 18:14:40 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
rabiterПо immutale objects - вещь полезная, но жаль в java нет build-in возможности для их поддержки. Что-нибудь типа аннотации @Immutable или sort of было бы неплохо:) Руками уследить за Immutable бывает сложно. Можно накосячить.Если сделать такую аннотацию, то за что тогда java-программистам деньги платить будут? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2012, 18:43:26 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
XEugenerabiterПо immutale objects - вещь полезная, но жаль в java нет build-in возможности для их поддержки. Что-нибудь типа аннотации @Immutable или sort of было бы неплохо:) Руками уследить за Immutable бывает сложно. Можно накосячить.Если сделать такую аннотацию, то за что тогда java-программистам деньги платить будут? immutable keyword discassion На мой взгляд было бы не плохо:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2012, 19:04:45 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
rabiter immutable keyword discassion На мой взгляд было бы не плохо:)Если с такой аннотацией(или модификатором) компилятор будет просто требовать объявления всех полей как final, это будет только в первом приближении immutable. Состояние самих полей, если там ссылки на изменяемые объекты, может меняться. Впрочем, можно ещё требовать, чтобы классы, на инстансы которых ссылаются поля, тоже имели эту аннотацию/модификатор. Ну и, само собой, сеттеры запретить. Разработчику, в зависимости от ситуации, может требоваться разная степень неизменяемости. Аннотация, в зависимости от того как она реализована, может ввести в заблуждение относительно неизменяемости(как volatile относительно потокобезопасности) или, наоборот, потребовать лишнего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2012, 15:54:01 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
XEugenerabiter immutable keyword discassion На мой взгляд было бы не плохо:)Если с такой аннотацией(или модификатором) компилятор будет просто требовать объявления всех полей как final, это будет только в первом приближении immutable. Состояние самих полей, если там ссылки на изменяемые объекты, может меняться. Впрочем, можно ещё требовать, чтобы классы, на инстансы которых ссылаются поля, тоже имели эту аннотацию/модификатор. Ну и, само собой, сеттеры запретить. Разработчику, в зависимости от ситуации, может требоваться разная степень неизменяемости. Аннотация, в зависимости от того как она реализована, может ввести в заблуждение относительно неизменяемости(как volatile относительно потокобезопасности) или, наоборот, потребовать лишнего. Естественно просто требования final мало. В "Effective Java: Programming Language Guide" by Joshua Bloch подробно описывается immutability. И интересный пример: "неизменяемый" класс BigInteger не был зафинален перед публикацией API. В результате от него можно наследоваться и при желании нарушить immutability. Так что страдающие паранойей могут делать так: Код: java 1. 2. 3. 4. 5. Это я к тому, что без встроенных средств языка, кустарно поддерживать immutability типов может быть накладно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2012, 17:30:55 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
rabiterЕстественно просто требования final мало. В "Effective Java: Programming Language Guide" by Joshua Bloch подробно описывается immutability. И интересный пример: "неизменяемый" класс BigInteger не был зафинален перед публикацией API. В результате от него можно наследоваться и при желании нарушить immutability. У Блоха много таких моментов. Просто непонятно, зачем кому-то ломать работу своего приложения? Плюс, не следует забывать про рефлекcию http://stackoverflow.com/a/3301720/224222 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2012, 17:42:24 |
|
||
|
MVC - Constructor vs Setter?
|
|||
|---|---|---|---|
|
#18+
LeonidvrabiterЕстественно просто требования final мало. В "Effective Java: Programming Language Guide" by Joshua Bloch подробно описывается immutability. И интересный пример: "неизменяемый" класс BigInteger не был зафинален перед публикацией API. В результате от него можно наследоваться и при желании нарушить immutability. У Блоха много таких моментов. Просто непонятно, зачем кому-то ломать работу своего приложения? Метод foo из примера может быть элементом публичного API: BlochIf you write a class whose security depends on the immutability of a BigInteger or BigDecimal argument from an untrusted client, you must check to see that the argument is a “real” BigInteger or BigDecimal, rather than an instance of an untrusted subclass. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2012, 17:57:27 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37629143&tid=2132751]: |
0ms |
get settings: |
18ms |
get forum list: |
23ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
51ms |
get topic data: |
16ms |
get forum data: |
4ms |
get page messages: |
93ms |
get tp. blocked users: |
2ms |
| others: | 369ms |
| total: | 588ms |

| 0 / 0 |
