(toiminnot)

hwechtla-tl: Esimerkkejä java-kulttuurista

Kierre.png

Mikä on WikiWiki?
nettipäiväkirja
koko wiki (etsi)
viime muutokset


(nettipäiväkirja 09.02.2016) Heh, Java on loputon ylisuunniteltujen systeemien suo.

Jos etsii jotain hyödyllistä tietoa controller-service-repository -kerrostamisesta, ainakin tulee erittäin selväksi, ettei kukaan oikein tarkkaan tiedä, mikä työnjako controllereiden ja servicejen välillä on.

Javassa on aikamoinen määrä kirjastoja erilaisissa formaateissa olevien tietojen (kuten tietokantatietojen, XML:n, JSONin jne.) esittämiseksi olioina. Tämä ei ainoastaan 5-10-kertaista tietojen käsittelyyn uppoavan koodin määrää (verrattuna siihen, että käytettäisiin jotain dynaamisempia tietotyyppejä kuten mappeja sisällön esittämiseen), vaan luo tarpeen erilaisille koodigeneraattoreille, koska muutenhan ne oliot pitää pitää käsin samanmuotoisina kuin tietokanta, XML tmv., jonka sisältöä niillä esitetään.

Koska Javassa kaikki koodi on jaoteltu luokkiin, kaikenlainen koodi joka ei oikeastaan tarvitse tilaa suoritetaan joko staattisina metodeina tai singleton-olioiden kautta. Kun jokin koodi käyttää singletonia, sen täytyy jotenkin saada siihen viittaus (muutenhan sen koodia ei pysty kutsumaan). Näiden viittauksien luominen taas tuottaa vaikeasti testattavaa koodia, jos jokainen luokka luo itse ne singletonit, joita käyttää. Joten tämän tyhjästä syntyneen ongelman ratkaisemiseksi on kokonaisia järjestelmiä ("Dependency injection framework"), joiden tarkoitus on tarjota jokin tapa määritellä erilaisten singletonien yhdistely toisiinsa koodin ulkopuolella.

Ja vähän myöhemmin voisin kertoa CLASSPATHista ja niistä uskomattomista maailmoista, joihin sen hallinta on vienyt...


kommentoi (viimeksi muutettu 09.02.2016 23:13)