[ tibor @ 03.06.2005. 17:57 ] @
Dobili smo zadatak na faksu da napisemo aplikaciju koja ce prikazivati tacke, linije i kvadrate... Program treba napisati primenom model view controller patterna. Podelili smo posao i meni je zapao graficki prikaz elemenata na formi. Ako sam dobro shvatio moja klasa ce dobijati objekte tipa graphics koje zatim treba da iscrta. Asistent mi je rekao da koristim paint metodu jpanela ali mi nije bas jasno kako. Da li mozete da mi date neke smernice za izradu zadatka?


[ tibor @ 05.06.2005. 09:21 ] @
niko ne zna da mi pomogne ?
[ logotet @ 05.06.2005. 11:01 ] @
Prvo, ne znam da li ti je jasno šta znači MVC pattern.
Tvoja klasa, koja je View, bi npr. trebalo da implementira Observer (tako će moći da hvata promene u Modelu).
Klasa koja predstavlja Model (npr. čuva koordinate tačaka, oblik ...) bi trebalo da nasledi Observable.
Klasa kontolor prima naredbe spolja (npr. sa tastature, miša...) koje menjaju te podatke modela.
U klasi Model , prilikom promene neke vrednosti imaš
Code:

nekaMetoda(){
    notifyObservers();// obavestava Observere da se dogodila promena

}

a u tvojoj klasi koja implementira Observer imaš

Code:

    public void update(Observable obj, Object arg){
        ModelKlasa model = (ModelKlasa)obj;
        //... 
        repaint();
    }


gde naravno u okviru metode repaint vršiš iscrtavanja.

Negde u "glavnom" kodu imaš
Code:

        ModelKlasa model = new ModelKlasa();    //Observable
    Observer ob1 = new MojViewPanel();
        model.addObserver(ob1);// vrši se prijavljivanje za osluškivanje promena


Bojim se da ovaj moj kratak odgovor, a mrzi me da pišem duže, nije perfektno jasan, zato ti preporučujem da malo potražiš Obeserver i Observable primere na netu, to je najlakši put za razumevane MVC patterna.
[ branimir.ts @ 07.06.2005. 14:22 ] @
Cek zar ne beshe MVC ono sa java servletima i Request-Dispatcherom ?
[ logotet @ 07.06.2005. 15:10 ] @
MVC je, ako mogu tako da ga nazovem, teorijski koncept arhitekture interaktivnih aplikacija. Razrađen je još prilikom razvoja Smalltalka, u laboratorijama PARC (Palo Alto ResearchCenter).
Zagovara višeslojnu arhitekturu gde se prepoznaju View, Model i Controller "komponente".
Servleti su samo jedan od načina da se primeni MVC, ali ne znači da je svako korišćenje servleta i RequestDispatchera u skladu sa MVC patternom. Struts je npr. framework koji "snažno pomaže" da aplikacija bude uskladu sa MVC.
Aplikacija može da bude u skladu sa MVC konceptom, a da uopšte ne bude orijentisana na web.
Ima sjajnih mesta na netu gde se možeš podrobnije upoznati sa ovom temom.