Article View: pl.comp.lang.java
Article #153755Re: jak to jest z tymi JavaBeans
From: x
Date: Fri, 04 Jan 2013 07:41
Date: Fri, 04 Jan 2013 07:41
86 lines
3837 bytes
3837 bytes
W dniu 2013-01-03 23:40, Arivald pisze:
> W dniu 2013-01-03 23:20, x pisze:
>> W dniu 2013-01-03 22:51, Arivald pisze:
>>> W dniu 2013-01-03 21:54, Jadalbert pisze:
>>>> W dniu 2013-01-03 21:33, x pisze:
>>>>> W dniu 2013-01-03 09:40, Jadalbert pisze:
>>>> W klasie Geom rzeczywiście nie ma to sensu ale to tylko prosty
>>>> przykład.
>>>> Inne klasy mają własności.
>>>> Nie mam dużego doświadczenia w javie, ale pamiętam, że kiedyś czytałem,
>>>> że pisze się jakby dwie klasy. Jedna to typowy beans z polami np. V_, a
>>>> druga to klasa licząca to V i nie będąca beansem.
>>>> i wtedy będzie 1.setV_(2.V);
>>>> tak w uproszczeniu rzecz jasna.
>>>> Ale jestem raz leniwy, a dwa nie wiem czy to aby na pewno jest sensowne
>>>> i poprawne.
>>>
>>> To raczej miało tak wyglądać:
>>>
>>> klasa 1 to POJO (http://pl.wikipedia.org/wiki/Plain_Old_Java_Object),
>>> ergo nie ma żadnego przetwarzania, tylko dane. Może być beanem (bez
>>> serializacji).
>>>
>>> do tego druga klasa (lub kolekcja klas) realizująca jakieś
>>> przetwarzanie.
>>>
>>> pełny przykład:
>>>
>>> public class First {
>>> private double x;
>>> private double y;
>>> private double z;
>>>
>>> public double getX() {
>>> return x;
>>> }
>>> public void setX(double x) {
>>> this.x = x;
>>> }
>>> public double getY() {
>>> return y;
>>> }
>>> public void setY(double y) {
>>> this.y = y;
>>> }
>>> public double getZ() {
>>> return z;
>>> }
>>> public void setZ(double z) {
>>> this.z = z;
>>> }
>>> }
>>
>> To ma ręce i nogi, oczywiście przy założeniu że koniecznie chcemy
>> JavaBeana...
>>
>
> Oczywiście wystarczyły by publiczne pola, ale OP pytał o beany.
>
>>>
>>> public class Second {
>>> private First first;
>>>
>>> public Second(First first) {
>>> this.first = first;
>>> }
>>>
>>> public double getV() {
>>> return first.getX() * first.getY() * first.getZ();
>>> }
>>
>> To jest bez sensu. Pojedynczą operację obliczenia V rozbiłeś na dwie:
>> utworzenia nowego obiektu klasy Second (po co ???) i właściwego
>> obliczenia. No i znowu wygląda na to, że V jest właściwością obiektu
>> klasy Second, a nie jest.
>
> Założenie jest takie że klasa Second realizuje wiele różnych obliczeń. W
> przykładzie jest tylko jedno.
>
> Osobiście lubię ten model że konkretną instancję klasy danych na stałe
> wiąże się z instancją klasy obliczeniowej.
W sumie to jakiś czas temu użyłem tego podejścia w Scali i było OK ;-)
Pozdrawiam,
Marcin Jaskolski
Technical Details
Message-ID:
<50e687a2$0$1231$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!wsisiz.edu.pl!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<50e54418$0$1298$65785112@news.neostrada.pl> <50e5eb16$0$26696$65785112@news.neostrada.pl> <50e5eff0$0$1295$65785112@news.neostrada.pl> <kc4uho$urh$1@news.dialog.net.pl> <50e60438$0$1306$65785112@news.neostrada.pl> <kc51ds$fn$1@news.dialog.net.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!wsisiz.edu.pl!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Date: Fri, 04 Jan 2013 08:41:17 +0100 From: x <x@x.x> User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:16.0) Gecko/20121010 Thunderbird/16.0.1 MIME-Version: 1.0 Newsgroups: pl.comp.lang.java Subject: Re: jak to jest z tymi JavaBeans References: <50e54418$0$1298$65785112@news.neostrada.pl> <50e5eb16$0$26696$65785112@news.neostrada.pl> <50e5eff0$0$1295$65785112@news.neostrada.pl> <kc4uho$urh$1@news.dialog.net.pl> <50e60438$0$1306$65785112@news.neostrada.pl> <kc51ds$fn$1@news.dialog.net.pl> In-Reply-To: <kc51ds$fn$1@news.dialog.net.pl> Lines: 86 Message-ID: <50e687a2$0$1231$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 178.42.13.11 X-Trace: 1357285282 unt-rea-b-01.news.neostrada.pl 1231 178.42.13.11:4774 X-Complaints-To: abuse@news.neostrada.pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit