Tein pikkuisen MVC:n ihan kokeilumielessä, varsin käyttökelpoiselta vaikuttaa, jotenka aattelin muuttaa yhden sivuston kaikkine hilavitkuttimineen siihen. Mutta mitenkäs tietokanta-yhteyksien kanssa?
Tällähetkellä on tietokanta-luokka joka on hieman muokkailtu singleton. Siis parametrina saa yhteyteen tarvittavat asetukset, jos ne eroaa niin luodaan uusi olio muutoin palautetaan jo luotu.
Tuota tietokanta-luokkaa kutsun vain niissä luokissa mitkä tarttevat tietokantaa, asetukset on erillisenä luokassa. Joten onkos tämä myös käyttökelpoinen MVC:tä käytettäessä, vai oliskos jotenkin muuten parempa?
Tuon Mallin tarkoitus ei ole vielä kunnolla auennut. Mulla on foorumi-luokat jotka hoitaa tietokannasta viestien haun jne... mitä nyt foorumissa tarttee niin onko nämä silloin Malleja?
Ja mitä muiden esimerkkejä/ohjeita olen yrittänyt katsella niin niissä käytetään vain yhtä mallia, joten jos haluan foorumin lisäksi samalle sivuille vaikkapa sivuni uutiset, niin teenkö vain uutisille oman mallin/luokan jota sitten käskytän ohjaimesta käsin?
MVC:stä kysymyksiä
4
509
Vastaukset
- Nieir
Eikös kukaan viitsi vastata?
- Nieir
Taitaa olla liian vaikea kysymys, vai mikäs kukaan ei vastaa?
MVC = Model-view-controller = malli–näkymä–ohjain - tähänkin
Ite olen leikkinyt tuon Strutsin kanssa ja miten olen itse ymmärtänyt, niin Model on se logiikka, joka hoitelee juttelun tietokannan kanssa. View on ne jsp(tahi vastaavat sivut) ja controller on ne bean:it, jotka kulkee modellin ja viewin välillä.
PS. Ei jaksanu alkaa suomentamaan noita termejä - asdadsadsads
Oletko siis itse koodaamassa suoraan HttpServletin päälle jotain MVC systeemiä? Ei kannata. On valmiita frameworkkejä, joissa on paljon valmiina. Vai tarkoitatko, että Struts == MVC? Struts ei tosiaan ota oikein mitään kantaa tietokannan käyttöön, joten siihen voi ottaa jonkin lisäpulikan sitä hoitamaan.
Itse tekisin Java webbisoftan Spring Frameworkillä (www.springframework.org), jossa on MVC-webbiframework osuus, mutta ennen kaikkea se sitää nuo kaikki osat yhteen IoC containerilla (Inversion of Control, Dependency Injection). Eli se ratkaisee juuri tuota ongelmaa, johon olet itse joutunut tekemään singletonin (brrr).
Ja tosiaan. Sen modelin tarkoitus on oikeastaan tehdä kaikki "olennainen" siinä softassa. Jos esim. käyttäjä painaa forum softan "Lähetä Viesti" nappia, niin controlleri ottaa HTTP pyynnön vastaan ja purkaa siitä ulos tuon merkityksen ja kutsuu sitten Model kerroksen lähetäViesti(Viesti v) metodia, joka tallentaa viestin tietokantaan ja valitsee seuraavan käyttäjälle näytettävän sivun.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Sanna Marin kysyi hämmästyneenä: Onko Suomessa jäänmurtajia?
Nettilehden toimittaja kysyi Sanna Marinilta suoraan, että sovittiinko nuo jäänmurtajien kaupat jo 2019, jolloin Marin k1585085- 1944051
SDP haluaa 40 000 nettomaahanmuuttajaa
SDP:n Suunnanmuutos-vaihtoehtobudjetissa, käy ilmi, että demarit itse asiassa vaativat räjähdysmäistä ”työperäisen” maah1403705Mikä tuota vasemmistolaisista jankkaavaa vaivaa?
Pahasti on ihon alle, siis korvien väliin, päässeet kummittelemaan. Ei ole terveen ihmisen merkki jankata yhdestä asia522986Orpo: Velkajarrua vastustavaa puoluetta vaikea ajatella hallitukseen
No Minja Koskelan kommunistipuolue jäi ulos tuosta. Kaikki eduskuntapuolueet vasemmistoliittoa lukuun ottamatta sopivat482627- 1461987
Nyt meni lopulliset lämmöt.
Alan käyttäytymään yhtä kylmästi miehiä kohtaan kuin mua kohtaan on käyttäydytty ja vain käytetty viimeiset pari vuotta441737Hienoa! Eduskunta luopui käteisen käytöstä
Nyt tuo sama muutos pitää saada myös muuhun yhteiskuntaan. Käteistähän ei tarvitse tänä päivänä enää kuin rikolliset.361489Onko erityinen paikka jossa haluaisit nyt olla
Onko joku spesiaali lempipaikka missä mieluiten olisit?631424Orpo loukkaantui fasismiin viittaavasta sanavalinnasta
Mutta miksi loukkaantui? Orpohan on tehnyt yhteistyötä fasistien kanssa jo vuonna 2019, siis jo neljä vuotta ennen loukk261319