[ kooole @ 26.02.2008. 23:48 ] @
Poceo sam da ucim Spring iz knjige Spring in Action. Odmah na pocetku, nije mi jasno objasnjenje za "Inversion of Control".
Moze li neko da mi objasni sustinu... zasto se uvode oni interfejsi tj. sta se time dobija? I ovaj primer iz knjige (knight, Holy Grail) mi je nekako nejasan pa bih najvise voleo da mi neko konkretno na njemu pojasni u cemu je caka. Nadam se da ne trazim previse.

Pozdrav!
[ milan.dinic @ 27.02.2008. 00:16 ] @
Interfejsi sluze za pristup metodama koje ces implementirati u nekoj klasi,
tu klasu ces izmapirati u springovom XML-u

a u kodu ces koristiti interfejse, kao da su instance klase koja implmentira taj interfejs,
na taj nacin se spring brine on instancama klasa u memoriji, sto doprinosi vecoj brzini, oprimizaciji potrosnje memorije itd

o ioc conteiner-u mozes naci nesto vise na:

http://static.springframework....ocs/2.5.x/reference/beans.html

pozz
[ anon315 @ 27.02.2008. 08:37 ] @
http://www.martinfowler.com/articles/injection.html
[ kooole @ 27.02.2008. 16:43 ] @
Hvala, misim da cu se snaci. Valjda mi je neobicno sto ne mogu odmah da shvatim sustinu Springa, a navikao sam da mi stvari vec u pocetku budu logicne i intiuitivne.
[ kizman @ 03.03.2008. 17:40 ] @
Citat:
milan.dinic:

a u kodu ces koristiti interfejse, kao da su instance klase koja implmentira taj interfejs,
na taj nacin se spring brine on instancama klasa u memoriji, sto doprinosi vecoj brzini, oprimizaciji potrosnje memorije itd

pozz



Ioc ili DI(Dependency Injection) nema veze sa optimizacijom i memorijom, vec sa konceptom programiranja. Ideja programiranja u interfejse, a ne u klase jeste da se dozvoli ili lakse omoguci izmena implementacije neke funkcionalnosti. IoC ili Di i Spring su usko povezani sa POJO(Plain Old Java Classes - obicnim java klasama, koje ne zavise od nekih third party API-ja).
Ideja Spring-a je da se tvoje biznis klase ne pisu tako da zavise od bilo kod API-ja, kao sto je to kod npr EJB programiranja. Time se omogucava lakse testiranje, jer tvoje klase ne zavise od kontejnera ili bilo kod API-ja. Dodatno, ako tvoja klasa treba neki servis - ne treba ti to da iz klase zoves, vec ce Spring framework da tu zavisnost "injektuje"( Depencency Injection ) na osnovu XML definicija. Time tvoja klasa ne mora da sadrzi kod za to, tj. ne zavisi od API-ja, pa se lakse testira.

Mozda da ti ne navodim sada primere, jer sigurno imas dosta njih u raznim clancima(http://www.theserverside.com/t...les/article.tss?l=IOCBeginners), ali znaci obrati paznju na tih par stvari koje su povezane i koje bi trebalo da shvatis ako se vec zanimas za te stvari.