Ahoj,
odpovídám na zprávu ze čtvrtka, 2. listopadu 2006,
kterou Rastislav Siekel napsal(a) v 9:13:03:

  To mi asi fakt příjde jako prasárna. Já top vždy řeším speciální třídou se 
statickými metodami, které takové služby řeší. Mám třídy jako StrinUtil, 
FileUtil, atd.

 Co jsem ale použil a co se mi líbí je cglib, která umí do existujících objektů 
něco doplnit za běhu. Používám třídu UIBeanEnhancer (lze najít na Netu), která 
do obyčejné POJO třídy, tedy Beanu, doplní za běhu notofikaci na změnu 
properties, tedy metody jako addPropertyChangeListener, 
removePropertyChangeListener, atd. Nemusím si tak zesložiťovat zdrojový kód a 
mylsím, že čitelnosti to taky nijak neublíží.



--------------------------- Původní zpráva ---------------------------
 Odesilatel: Rastislav Siekel <[EMAIL PROTECTED]>
    Předmět: Co jde v .NET a nejde v Jave?
      Datum: 2. listopadu 2006, 09:13:03 (GMT +0100)
    Přílohy: <none>
      msgid:[EMAIL PROTECTED]
    
R> Samozrejme, že je to zlé, pretože keď sa pozriete na cudzí program, nikdy
R> neviete, čo za String tam je použitý. Nehľadiac na to, že definovať si
R> potomka String-u a doplniť mu tam tú metódu nie je problém a volanie sa
R> zmení na

R> new MyString("c:\data").getFiles()

R> čo mi nepríde príliš veľká obeť.

R> To už potom smrdí C-čkovým typedef (pri použití 2 knižníc v projekte máte
R> minimálne 3 názvy pre int - skúsenosť z praxe), alebo C-čkovými preťaženými
R> operátormi - nikdy neviete, čo vlstne to plus spraví.

R> Aby som nevyvolal flame - tieto možnosti sú naozaj mocné, ale ak potrebujete
R> urobiť "rýchlo" zmenu už staršieho projektu (t.j. asi v 90% času života
R> aplikácie) - nevyhovujú.

R> Rastislav "Bedo" Siekel


>> -----Original Message-----
>> From: [EMAIL PROTECTED] 
>> [mailto:[EMAIL PROTECTED] On Behalf Of Petr Fischer
>> Sent: 1. novembra 2006 13:33
>> To: Java
>> Subject: Re: Co jde v .NET a nejde v Jave?


>> Petr Synek píše v St 01. 11. 2006 v 01:20 +0100:
>> > Co se tyce dokumentace, tak v .NET podle mne neni dokumentace zas o 
>> > moc lepsi nez v Jave (kdyz se budeme bavit zejmena o core 
>> J2SE knihovnach). Snad jen je v MSDN o neco vic prikladu jak 
>> konkretni tridu pouzit, ale myslim ze ani Java 1.5 uz se nema 
>> za co stydet (oproti napr. 1.3. verzi).
>> > V .NETu mi ale dost chybi moznost si prohlednout zdrojaky 
>> knihoven frameworku. Takze opravdu nezbyva nic jineho nez se 
>> spolehnout pouze na dokumentaci (coz nebyva idealni) nebo na 
>> google (to ale zbytecne zdrzuje). V Jave lze primo nahlednout 
>> do zdrojaku (napr. podivat se co vlastne vraci ten zatraceny 
>> Boolean.getBoolean(...) ze? :-). 
>> > 
>> > Co se tyce core knihoven, tak ty mi prijdou .NET knihovny 
>> ponekud vic 
>> > intuitivni.
>> > Napr. string.IsNullOrEmpty() je docela uzitecna staticka 
>> metoda tridy String. V Jave musime psat porad dokola "if (s 
>> ==null || s.length() = 0)" (i o dost podivnejsi ekvivalenty 
>> lze casto potkat) nebo si napsat vlastni externi utilitu 
>> (prip. stahnout neco hotoveho z Jakarta Commons). 
>> > 
>> > Dale napr. prace s datumem (DateTime) a casovym usekem (TimeSpan) a 
>> > jakym zpusobem se tyto 2 tridy dokonale doplnuji (scitani, 
>> odcitani, staticke helper metody na vytvareni) je ukazka jak 
>> ma .NET dobre propracovane nektere knihovny.
>> > Kdyz se pak clovek podiva na java.util.Date a ty mraky 
>> deprecated constructoru a metod, tak si uvedomi, ze vlastne 
>> cely Date je uz dnes jen docela osklivy wrapper nad jednou 
>> long promennou a nic vic... Ale neni to rozhodne to co by 
>> clovek intuitivne od Date tridy cekal. 
>> > Pokud chci napriklad vytisknout cas tedy v .NETu 
>> "Console.WriteLine(DateTime.Now);" tak v Jave (jsem pres 
>> google http://www.rgagnon.com/javadetails/java-0106.html) 
>> zjistil ze musim pouzit minimalne tridy Calendar a 
>> SimpleDateFormat a provadet s tim docela slusne harakiri. Bez 
>> googlu, je toto prace na min. 5 minut. 
>> > 

>> To me pripomina jednu vec, i kdyz bych nerad mlzil. Neni v 
>> .NETu nahodou mozny rozsirovat existujici tridy o novy metody 
>> (muzete si dopsat svoji vlastni metodu do existujici String 
>> nebo Date tridy - tedy podobne jako treba ve Smalltalku)? 
>> Chapu, ze nekomu to pride jako prasarna, ale je to jen trosku 
>> jinej styl OO programovani.

>> Muzete si pak do String tridy dopsat treba funkci getFiles() a pak
>> staci:

>> "c:\data".getFiles() 

>> To neni zly ne? :)

>> pf








------------------------ Konec původní zprávy ------------------------

-- 
---------------------------------------------------------------------
 Tomáš Procházka


 E-mail: [EMAIL PROTECTED]
    WWW: http://atom.sf.cz
    ICQ: 87147320
---------------------------------------------------------------------

Odpovedet emailem