kali
unread,Nov 10, 2011, 5:29:20 AM11/10/11Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to CTU VIA
ahoj kluci a holky,
dneska jsem na prednasce vypalil nejaky komentar stran IoC, dovolte mi
trochu to rozvest.
Zacneme tim, ze v jave a specielne u vyvoje webu existuje fenoment
obecne oznacovany jako "Framework Hell". Polopaticky bych to yjadril
jako ze vam vsichni tvrdi, ze je vsechno uplne trivialni, POKUD na to
pouzijete nejakou vhodnou platformu. Ovsem vybrat si takovou a naucit
se ji zkonfigurovat (nedejboze zkombinovat jich nekolik GWT/Spring/GAE/
Android/Maven) a vyresit exception, ktera vam po peti minutach naskoci
vubec nemusi byt pravda.
Z tohoto pohledu bych ja osobne nikoho neodrazoval od psani neceho sam
- pokud je to co potrebujete trivialni, klidne si to napiste sami a
adoptuje komplexni reseni (framework) tehdy, kdyz to zacnete
potrebovat. Obecny princip v pozadi takovehoto rozhodnuti je Agilni
pristup (dalsi buzzword) a Extremni programovani, ktere se da shrnout
do jedine poucky: Udelejte to nejjednodussi co lze co bude fungovat a
udelejte to hned :-)
Jinak ad frameworks - java obecne trpi jejich prebytke. Resenim pro
komunitu jsou: 1) standardizace (viz treba REST a jeho sirsi adopce),
2) zjednoduseni platforem tak, aby nauceni se s nejakou z nich bylo co
nejjednodussi.
IoC kakozto zpusob "vlepeni frameworku" do vaseho kodu "zvenku" pomoci
anotaci nebo xml tak, aby cely proces byl velice jednoduchy, primocary
je bezva.
Dalsi vec, se kterou jsme se dnes mohli setkat (pamatujete na xml,
ktere se jmenuje via-servlet.xml) a ktere se pres "jmeno"
"automaticky" asociuje s danym servletem. Tak tohle je zas Convention
over Configuration princip - cili ze framework vybavime nejakymi
konvencemi, ktere pomuzou jednoduchosti jeho pouziti. Typicky to muze
byt adresarova struktura a standardizovany pristup k urcitym zpusobem
pojmenovanym vecem atd. Treba v Grails (GoG) staci napsat fef
mujService do controlleru a pokud existuje ve slozce services definice
service ktery se jmenuje muj, tak se tento instanciuje a schova pod
tuto promenou., to je convention.. (configuration by byla nekam psat
tohle dratovani, trochu jako kdyz pises servlet a pak pro nej mapping
a ukazujes na tridu, ktera ho implementuje atd..)
Jinak dalsi trend (Spring je prukopnik a J2EE5 nasleduje) je aby v
zakladu, tak jak si to stahnete, byl framework dobre zkonfiguorovan a
mohli jste ho zacit rovnou pouzivat - neboli "meaningful defaults" a
"advocating good practices and patterns". Cili abyste mohli rovnou
svistet :-). Mrknete treba na zminovane Groovy On Grails ci Ruby on
Rails pro example. Spring je taky z tohoto testa..
takze to jenom abychom se pomasirovali kolik zname bezva Buzzwordu.
Pouzivejte je na pracovnich interview nebo kdyz nebudete vubec vedet,
na co se vas ptaji :-)
zdravi,
-- petr a eager programmers