🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.java
Article #153952

Re: Zagadnienie polimorfizmu?

#153952
From: Arivald
Date: Thu, 26 Dec 2013 08:55
57 lines
2993 bytes
W dniu 2013-12-26 04:04, A.L. pisze:
> On Tue, 24 Dec 2013 01:54:00 +0100, Bogus?aw Szczepanowski
> <noone@invalid.net> wrote:
>
>> Dnia 17-12-2013 o 23:42:56 A.L. <alewando@aol.com> napisał(a):
>>
>>> Za klase class ZrobCosTam
>>>
>>> po prostu wyrzucam studenta za drzwi. A hukiem
>>
>> Gratuluję nieznajomości wzorca Command.
>
> Wzorzec Command ma komponenty/klasy
>
> Command
> Invoker
> ConcreteCommand
> Receiver
> Action
>
> Nie ma klasy ZrobCosTam.  Albowiem KLASA to OBIEKT a nie CZYNNOSC.
> Klasa to abstrakcja KONCEPTU albo RZECZY ISTNIEJACEJ FIZYCZNIE,a  nei
> CZYNNOSCI.

Generalnie tak. Ale nie widzę przeszkód żeby mieć klasę opisującą 
czynność. Zresztą właśnie Command jest czynnością.

>
> CZYNNOSC to czesc zachowanai (protokolu) klasy.
>
> Proponuje Koledze wziac jakis prosty podrecznik do UML czy do Object
> Oriented Design  i przekonac sie czym jest KLASA i OBIEKT w
> programowaniu obiektowym
>
> A.L.
>

Ale to nie wyjaśnia dlaczego konkretna klasa implementująca Command nie 
mogła by się nazywać ZrobCosTam.

W aplikacji związanej z grafiką miałem wszystkie Command w paczce 
xx.commands, a ich nazwy to Move, Rotate, SetScale, itd.


Inny przykład na klasę ZrobCosTam : w Androidzie mam takie klasy które 
przyjmują na wejściu obiekt z parametrami/danymi, odpalają wątek z puli 
i próbują przetwarzać te dane w oparciu o webservice. I mają właśnie 
takie nazwy: SaveSomething, GetSomething, etc. żeby wykonać akcję tworzę 
nową instancję takiej klasy.

Powiesz że mógł bym to robić w jednym obiekcie, wołając jego funkcje 
saveSomething() etc. Mógłbym, ale i tak pod spodem musiał bym tworzyć 
obiekty trzymające aktualny stan, progress operacji. Więc naprawdę nie 
widzę sensu wprowadzać jeszcze jednego pośrednika.

-- 
Arivald
Technical Details
Message-ID: <l9gqv6$tng$1@news.dialog.net.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mail
References: <e8a6173d-2e5d-4055-9877-1bc8fa939deb@googlegroups.com> <52b0147c$0$2160$65785112@news.neostrada.pl> <cpk1b9has1626fb6ifm3pjnt5ghj9esgno@4ax.com> <op.w8knga0te4bapi@blackstar> <pg6nb9t5bcgct766hjfp85c9jjqg3096oa@4ax.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mail
From: Arivald <NOSPAMarivald@interia.pl>
Newsgroups: pl.comp.lang.java
Subject: Re: Zagadnienie polimorfizmu?
Date: Thu, 26 Dec 2013 09:55:57 +0100
Organization: Dialog Net
Lines: 58
Message-ID: <l9gqv6$tng$1@news.dialog.net.pl>
References: <e8a6173d-2e5d-4055-9877-1bc8fa939deb@googlegroups.com> <52b0147c$0$2160$65785112@news.neostrada.pl> <cpk1b9has1626fb6ifm3pjnt5ghj9esgno@4ax.com> <op.w8knga0te4bapi@blackstar> <pg6nb9t5bcgct766hjfp85c9jjqg3096oa@4ax.com>
NNTP-Posting-Host: dynamic-78-8-99-82.ssp.dialog.net.pl
Mime-Version: 1.0
X-Trace: news.dialog.net.pl 1388048166 30448 78.8.99.82 (26 Dec 2013 08:56:06 GMT)
X-Complaints-To: abuse@dialog.net.pl
NNTP-Posting-Date: Thu, 26 Dec 2013 08:56:06 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0
In-Reply-To: <pg6nb9t5bcgct766hjfp85c9jjqg3096oa@4ax.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit