Nem vagyok benne biztos. Ezert lehet a validacio egy kulon metodusban, amit a setter meghivhat. <div><br></div><div>Nem vagyok biztos benne, hogy leellenoriztes ezert a setterrel leellenoriztetem, mert az osztaly felelossege, hogy jol műkodjon (egysegbezaras?).<span></span><br>
<br>On Sunday, May 27, 2012, Tamás Viktor wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Van az a logika, ami leellenőrzi az öttel osztást és csinál valamit,<br>
ha fennáll a feltétel.<br>
-Biztos vagy benne, hogy ez a logika csak ott, azon az egy helyen lesz<br>
hasznos, abban az egy setterben? Nem lesz újra felhasználva sehol?<br>
-Biztos vagy benne, hogy amikor meg akarják hívni a setter-t, nem<br>
ellenőrizték már ezt le? Pl. amikor adatbázisból olvasnak vissza<br>
előzőleg lementett adatokat.<br>
-Biztos hogy oda kell az?<br>
Azt a tendenciát látom, hogy egyre inkább kikerülnek a logikák a<br>
setter-ekből. Ha mégis ott vannak, az bűzlik.<br>
V<br>
<br>
2012/5/26 Peter Verhas <<a href="javascript:;" onclick="_e(event, 'cvml', 'peter@verhas.com')">peter@verhas.com</a>>:<br>
> Akkor minek lenne a setter? Éppen az a lényege, hogy leellenőrzi, hogy csak<br>
> olyan érték kerülhessen be egy field-be, ami nem rontja el az objektum<br>
> állapotát, az továbbra is megfelel az üzleti logikának.<br>
><br>
> Szerintem nem érdemes ilyen sommás és lekezelő válaszokat írni, még némi<br>
> gondolkodás után sem.<br>
><br>
><br>
> On Saturday, May 26, 2012, Kristof Jozsa wrote:<br>
>><br>
>> príma, az viszont helyesen egy business method, nem egy setter, ezzel<br>
>> pedig a rövid történet végére is értünk.<br>
>><br>
>> K<br>
>><br>
>> 2012/5/26 Peter Verhas <<a href="javascript:;" onclick="_e(event, 'cvml', 'peter@verhas.com')">peter@verhas.com</a>>:<br>
>> > Ne ragadjatok le a null-nál. Az csak egy pelda volt. Akkor inkabb a<br>
>> > példámban az ellenőrzés legyen arra, hogy ha a számla típusa készpénzes,<br>
>> > akkor a fizetendő összeg legyen öttel osztható.<br>
>> ><br>
>> ><br>
>> > On Saturday, May 26, 2012, Zsombor wrote:<br>
>> >><br>
>> >> Gondolom arra utal, hogy az általa tisztességesnek tekintett nyelvekben<br>
>> >> van külön típus az olyan változóra, ami sosem nulla, és ami lehet<br>
>> >> nulla.<br>
>> >> Persze itt nem kellene megállni, és lehet hiányolni a 23 karakter<br>
>> >> hosszú<br>
>> >> sztringek tipusát, és a páros számok tipusát, vagy egy bizonyos<br>
>> >> regexp-re<br>
>> >> matchelő stringek tipusát :)<br>
>> >><br>
>> >> Zs<br>
>> >><br>
>> >> 2012/5/26 Gábor Garami <<a href="javascript:;" onclick="_e(event, 'cvml', 'gabor.garami@hron.me')">gabor.garami@hron.me</a>><br>
>> >>><br>
>> >>> Elvben barmilyen, non-primitive tipusu valtozo lehet null, igy nem<br>
>> >>> ertem<br>
>> >>> mit ertesz tipusos kerdes alatt.<br>
>> >>><br>
>> >>> Garami Gábor<br>
>> >>> <a href="javascript:;" onclick="_e(event, 'cvml', 'gabor.garami@hron.me')">gabor.garami@hron.me</a><br>
>> >>> Skype: hron84<br>
>> >>> Tel: +36 20 235 9621<br>
>> >>><br>
>> >>> Sent from my T-Mobile G2<br>
>> >>> Ezt a levelet telefonról adták fel, ékezethibákat tartalmazhat.<br>
>> >>><br>
>> >>> 2012.05.25. 23:21, "Kristof Jozsa" <<a href="javascript:;" onclick="_e(event, 'cvml', 'kristof.jozsa@gmail.com')">kristof.jozsa@gmail.com</a>> ezt írta:<br>
>> >>><br>
>> >>>> ezt nem vettem meg :) az egyetlen helyes válasz erre az h mert a<br>
>> >>>> JavaBean szabvány ezt mondja, felesleges szerintem további észérveket<br>
>> >>>> keresni mögé. amúgy egy tisztességes nyelvben az hogy valami null<br>
>> >>>> lehet-e az típusos kérdés és semmi köze a field beállításához.<br>
>> >>>><br>
>> >>>> K<br>
>> >>>><br>
>> >>>> 2012/5/24 Peter Verhas <<a href="javascript:;" onclick="_e(event, 'cvml', 'peter@verhas.com')">peter@verhas.com</a>>:<br>
>> >>>> > 2012/5/24 Kristof Jozsa <<a href="javascript:;" onclick="_e(event, 'cvml', 'kristof.jozsa@gmail.com')">kristof.jozsa@gmail.com</a>>:<br>
>> >>>> >> pontosan mitől lesz tisztább vagy olvashatóbb a kód ha minden<br>
>> >>>> >> fieldhez<br>
>> >>>> >> van egy getter és egy setter?<br>
>> >>>> >><br>
>> >>>> ><br>
>> >>>> > Mert ha azt használod, hogy<br>
>> >>>> ><br>
>> >>>> > invoice.setItems(invoiceItems);<br>
>> >>>> ><br>
>> >>>> > akkor sokkal kevesebb munkád lesz, amikor az Invoice osztályban<br>
>> >>>> > például ellenőrizni akarod, hogy ne legyen null, vagy nulla elemű<br>
>> >>>> > az<br>
>> >>>> > invoiceItems, vagy azt, hogy minden tételre ki van-e töltve az ÁFA<br>
>> >>>> > értéke. Ha<br>
>> >>>> ><br>
>> >>>> > invoice.items = invoiceItems;<br>
>> >>>> ><br>
>> >>>> > szerepel a kódban, akkor ezt jelenleg Java-ban refaktorálnod kell,<br>
>> >>>> > amikor az items mezőt priváttá teszed és elkészíted a settert és a<br>
>> >>>> > gettert.<br>
>> >>>> ><br>
>> >>>> > Ha JavaX-ben (X > 7) az 'invoice.items = invoiceItems;' kód darab<br>
>> >>>> > egy<br>
>> >>>> > setter hívássá fordul le, az viszont felveti azt a kérdést, hogy a<br>
>> >>>> > programozási nyelvben tényleg minden az-e, aminek látszik. A válasz<br>
>> >>>> > pedig nem, mert ez értékadásnak látszik, miközben metódus hívás.<br>
>> >>>> > Most<br>
>> >>>> > még, Java-ban persze nem, és én nem is szeretném, hogy az legyen.<br>
>> >>>> ><br>
>> >>>> > Perl-ben olyan jópofa, hogy vannak ilyen automagic megoldások, de a<br>
>> >>>> > Java nem Perl.<br>
>> >>>> > 2005 októberben a Perl konferencián tartottam egy előadást, az volt<br>
>> >>>> > a<br>
>> >>>> > címe, hogy "Tiltsák be a Perl-t", és csak Java-ban szabad<br>
>> >>>> > programozni.<br>
>> >>>> > Sajnos nincs már meg a videó felvétel Ott volt Larry Wahl is. És<br>
>> >>>> > mindenki végig azt hitte, hogy viccelek.<br>
>> >>>> > _______________________________________________<br>
>> >>>> > Javalist mailing list<br>
>> >>>> > <a href="javascript:;" onclick="_e(event, 'cvml', 'Javalist@lists.javaforum.hu')">Javalist@lists.javaforum.hu</a><br>
>> >>>> > <a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>
>> >>>> _______________________________________________<br>
>> >>>> Javalist mailing list<br>
>> >>>> <a href="javascript:;" onclick="_e(event, 'cvml', 'Javalist@lists.javaforum.hu')">Javalist@lists.javaforum.hu</a><br>
>> >>>> <a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>
>> >>><br>
>> >>><br>
>> >>> _______________________________________________<br>
>> >>> Javalist mailing list<br>
>> >>> <a href="javascript:;" onclick="_e(event, 'cvml', 'Javalist@lists.javaforum.hu')">Javalist@lists.javaforum.hu</a><br>
>> >>> <a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>
>> >>><br>
>> >><br>
>> ><br>
>> ><br>
>> > --<br>
>> > Verhás Péter<br>
>> > ügyvezető<br>
>> > Verhás & Verhás Szoftver Manufaktúra Kft.<br>
>> > <a href="javascript:;" onclick="_e(event, 'cvml', 'peter@verhas.com')">peter@verhas.com</a><br>
>> > t: +36(30)9306805<br>
>> > skype: verhas<br>
>> ><br>
>> > _______________________________________________<br>
>> > Javalist mailing list<br>
>> > <a href="javascript:;" onclick="_e(event, 'cvml', 'Javalist@lists.javaforum.hu')">Javalist@lists.javaforum.hu</a><br>
>> > <a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>
>> ><br>
>> _______________________________________________<br>
>> Javalist mailing list<br>
>> <a href="javascript:;" onclick="_e(event, 'cvml', 'Javalist@lists.javaforum.hu')">Javalist@lists.javaforum.hu</a><br>
>> <a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>
><br>
><br>
><br>
> --<br>
> Verhás Péter<br>
> ügyvezető<br>
> Verhás & Verhás Szoftver Manufaktúra Kft.<br>
> <a href="javascript:;" onclick="_e(event, 'cvml', 'peter@verhas.com')">peter@verhas.com</a><br>
> t: +36(30)9306805<br>
> skype: verhas<br>
><br>
> _______________________________________________<br>
> Javalist mailing list<br>
> <a href="javascript:;" onclick="_e(event, 'cvml', 'Javalist@lists.javaforum.hu')">Javalist@lists.javaforum.hu</a><br>
> <a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>
><br>
_______________________________________________<br>
Javalist mailing list<br>
<a href="javascript:;" onclick="_e(event, 'cvml', 'Javalist@lists.javaforum.hu')">Javalist@lists.javaforum.hu</a><br>
<a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>
</blockquote></div><br><br>-- <br>Verhás Péter<br>ügyvezető<br>Verhás & Verhás Szoftver Manufaktúra Kft.<br><a href="mailto:peter@verhas.com">peter@verhas.com</a><br>t: +36(30)9306805<br>skype: verhas<br>