Hlavní navigace

Názor ke článku Potvrzeno: Java bude Open Source! od Miloslav Ponkrác - [28] property, jsou hezka zalezitost, ale otazka je,...

  • 14. 11. 2006 16:09

    Miloslav Ponkrác (neregistrovaný)

    [28] property, jsou hezka zalezitost, ale otazka je, je to objektove ciste... kdyz ctu property (ktera se v kodu jevi jako promenna), kdo mi zaruci, ze neudela side-effect (btw. pri kompilaci se property preklada na dvojici metod get a set jako v jave)

    a kdo mi zaručí, že get/set neudělá side effect? vždyť je to přeci jedno, stejně slušný objektový návrh nikdy nedovolí zvenku zpřístupnit přímo datové členy, tudíž je tu prostor pro property. IMHO property jsou mnohem čistějším objektovým návrhem. cokoli zvenčí je prostě interface a co se děje s třídou uvnitř je jedno, pokud se chová podle popisu interfacu. veškeré side effecty řídí implementace třídy.

    "event-typ (asi delegat)... v jave se dosahuje stejneho vysledku pomoci objektu, nejcasteji pouzitim anon. trid... ale je pravda, ze to vyzaduje trosku vic kodu... za cenu elegentnejsiho runtimu."

    to se pletete - delegáta vyřídí kompilátor, stejně tak jako třeba operátory, nebo property. runtime o delegátech vůbec neví, protože nic takového se k němu vůbec nedostane. od toho totiž kompilátor je, aby ulehčoval programátorovi práci a zároveň aby odvedl optimalizační práci pro cílový runtime.

    problém je, že v javě skoro všechno vyžaduje "trošku víc kódu" a stokrát nic umořilo osla. už jsem dokonce viděl, že javovské ide mají různé pomocníky pro generování toho kódu a tak vlastně suplují nedostatky javy. je to docela srandovní.