MVC:stä kysymyksiä

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?
4541
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

Eikös kukaan viitsi vastata?

Äänestä

Taitaa olla liian vaikea kysymys, vai mikäs kukaan ei vastaa?
MVC = Model-view-controller = malli–näkymä–ohjain

Äänestä

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ä

Äänestä

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.

Äänestä

Kommentoi aloitusta


Nieir kirjoitti:

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?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu