Article View: pl.comp.objects
Article #14732Re: "setter" zwracający obiekt
From: a1
Date: Wed, 07 Jun 2006 13:45
Date: Wed, 07 Jun 2006 13:45
55 lines
2767 bytes
2767 bytes
Adam Karpierz wrote:
> "a1" <a1@no.spam> wrote in message news:e66dmr$q62$1@inews.gazeta.pl...
>
>
>>Tragedia bo...? osobiscie nie widze zadnych przeciwskazan,
>
>
> 1. Wieksza bledogennosc - i to bledogennosc trudna niekiedy
> do wykrycia.
Błedogennosc? Bo musze mniej kodu napisac?
> 2. Nie widac "na rzecz czego"...
> W celu upewniania koneiczne siegniecie do definicji klasy
Mowimy o dobrze skonstruowany fluent interface, wtedy tak naprawde
zyskujemy na czytelnosci, oczywiscie mozna napisac to w taki sposob ze
nie bedzie wiadomo o co chodzi, ale to tyczy sie dowolnego kodu.
> 3. Mozliwe ukryte neichciane tworzenie (i usuwanie) obiektow
> tymczasowych (np w przypadku C++).
> Moze to powodowac paskudne efekty uboczne
W c++ to wogole wszystko moze powodowac paskudne efekty uboczne.
> Nie widze wiekszej wygody od kasycznego zapisu.
>
> o.setX(x);
> o.setY(y);
> o.setZ(z);
A tu:
Order o1 = new Order();
customer.addOrder(o1);
OrderLine line1 = new OrderLine(6, Product.find("TAL"));
o1.addLine(line1);
OrderLine line2 = new OrderLine(5, Product.find("HPK"));
o1.addLine(line2);
OrderLine line3 = new OrderLine(3, Product.find("LGV"));
o1.addLine(line3);
line2.setSkippable(true);
o1.setRush(true);
vs.
customer.newOrder()
.with(6, "TAL")
.with(5, "HPK").skippable()
.with(3, "LGV")
.priorityRush();
Bo jednak wersja duga wydaje mi sie jakby czytelniejsza. Zreszta cala ta
idea 'metod chaining' pochodzi jednak ze znanej z roznych jezykow
koncepcji cascade expression.
--
a1 (Bartek Janusz) arcone1 gmail com
Technical Details
Message-ID:
<e66l9m$2j1$1@inews.gazeta.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailReferences:
<e64lni$6bn$1@news.onet.pl> <e660l7$kgd$1@opal.icpnet.pl> <e665r3$adm$1@news.task.gda.pl> <e66afs$che$1@inews.gazeta.pl> <e66dmr$q62$1@inews.gazeta.pl> <e66joh$p6i$1@inews.gazeta.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail From: a1 <a1@no.spam> Newsgroups: pl.comp.objects Subject: Re: "setter" zwracający obiekt Date: Wed, 07 Jun 2006 15:45:25 +0200 Organization: "Portal Gazeta.pl -> http://www.gazeta.pl" Lines: 55 Message-ID: <e66l9m$2j1$1@inews.gazeta.pl> References: <e64lni$6bn$1@news.onet.pl> <e660l7$kgd$1@opal.icpnet.pl> <e665r3$adm$1@news.task.gda.pl> <e66afs$che$1@inews.gazeta.pl> <e66dmr$q62$1@inews.gazeta.pl> <e66joh$p6i$1@inews.gazeta.pl> Reply-To: a1@no.spam NNTP-Posting-Host: nat-plk.mentorg.com Mime-Version: 1.0 X-Trace: inews.gazeta.pl 1149687926 2657 139.181.144.34 (7 Jun 2006 13:45:26 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Wed, 7 Jun 2006 13:45:26 +0000 (UTC) X-Accept-Language: en-us, en X-User: arcone1 User-Agent: Mozilla Thunderbird 1.0.7 (Windows/20050923) In-Reply-To: <e66joh$p6i$1@inews.gazeta.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit