/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Implementering af Command pattern
Fra : Flare


Dato : 06-04-04 08:27

Hejsa

I forbindelse med en JSP/ Servlet løsning er jeg i en artikel blevet
opfordret til at benytte et command pattern. Jeg kan dog ikke dreje hvordan
de har tænk sig at implementere dette, selv om der er kode eks. med.

Det drejer sig konkret om Code Example 4.6 og Code Example 4.6 .
http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/web-tier/web-tier5.html

Problemet er den klasser som hedder Model. Denne er ikke defineret nogen
steder og jeg kan ikke forstå dens funktion. Jeg kan udfra koden se at der
bliver kaldt model.createUser hvilket for mig ikke rigtig giver mening. Det
vil for mig set betyde at denne klasse skal have samtlige metoder som mit
site skal kunne. Det kan heller ikke passe at Model er en basisklasse da han
jo kalder fx. createUser uden at kaste den til en specifik Model
implementering.

Håber nogen kan rede dette ud. Det er froøvrigt i forbindelse med
implementering af Model 2 (MVC) pattern.

Mvh
Anders J



 
 
stig (06-04-2004)
Kommentar
Fra : stig


Dato : 06-04-04 20:31

mm

Det ser da ellers rigtig nok ud. Pointen er, at servletten slipper for at
køre en if-else gennem alle de mulige metoder som modellen stiller til
rådighed. Jeg tror man skal se selve den abstrakte action de definerer i
eksemplet som det, det er, et eksempel.

I en bog jeg har 'agile software developement' er det samme pattern benævnt
'command'. I stil med

interface Command {
do();
}

I eksemplet på suns side er 'kommandoen' eller 'action' blot mere
specificeret.

Stig


"Flare" <nomail@sorry.dk> wrote in message
news:40725bab$0$526$edfadb0f@dread14.news.tele.dk...
> Hejsa
>
> I forbindelse med en JSP/ Servlet løsning er jeg i en artikel blevet
> opfordret til at benytte et command pattern. Jeg kan dog ikke dreje
hvordan
> de har tænk sig at implementere dette, selv om der er kode eks. med.
>
> Det drejer sig konkret om Code Example 4.6 og Code Example 4.6 .
>
http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/web-tier/web-tier5.html
>
> Problemet er den klasser som hedder Model. Denne er ikke defineret nogen
> steder og jeg kan ikke forstå dens funktion. Jeg kan udfra koden se at der
> bliver kaldt model.createUser hvilket for mig ikke rigtig giver mening.
Det
> vil for mig set betyde at denne klasse skal have samtlige metoder som mit
> site skal kunne. Det kan heller ikke passe at Model er en basisklasse da
han
> jo kalder fx. createUser uden at kaste den til en specifik Model
> implementering.
>
> Håber nogen kan rede dette ud. Det er froøvrigt i forbindelse med
> implementering af Model 2 (MVC) pattern.
>
> Mvh
> Anders J
>
>



Flare (06-04-2004)
Kommentar
Fra : Flare


Dato : 06-04-04 22:43

> Det ser da ellers rigtig nok ud. Pointen er, at servletten slipper for at
> køre en if-else gennem alle de mulige metoder som modellen stiller til
> rådighed. Jeg tror man skal se selve den abstrakte action de definerer i
> eksemplet som det, det er, et eksempel.

Hej Stig

Ja jeg ved det blot er et eksempel. Jeg har også kigget på alternative
implementeringer. Men hvis den model de forslåt med at man sender et Model
objekt ind i constructoren skal denne model klasse have samtlige
implementeringer som hele ens applikation skal have. Godt nok undgår man
if-else men det er da ikke meget pænere.

Ellers kan jeg ikke forstå de laver et eks. der koncept mæssigt er forkert.
(hvilket de jo sikkert ikke gør). Men hvis du forstår den forslåede
implementering hvilken rolle har Model klassen så? Vil du ikke mene den skal
have alle metoder som der skal abstraheres på?

Anders



stig (07-04-2004)
Kommentar
Fra : stig


Dato : 07-04-04 17:28

Halløj igen

Command pattern giver controlleren et interface til at eksekvere en
kommando/action.

I bund og grund kan selve Kommando implementationen tage en mulliard former.
Det med Model classen i suns eksempel er blot een form. Pointen er, at
kommando interfacet har een metode some controlleren kan kalde. Een metode
som controlleren kender.

Stig


"Flare" <nomail@sorry.dk> wrote in message
news:40732484$0$515$edfadb0f@dread14.news.tele.dk...
> > Det ser da ellers rigtig nok ud. Pointen er, at servletten slipper for
at
> > køre en if-else gennem alle de mulige metoder som modellen stiller til
> > rådighed. Jeg tror man skal se selve den abstrakte action de definerer i
> > eksemplet som det, det er, et eksempel.
>
> Hej Stig
>
> Ja jeg ved det blot er et eksempel. Jeg har også kigget på alternative
> implementeringer. Men hvis den model de forslåt med at man sender et Model
> objekt ind i constructoren skal denne model klasse have samtlige
> implementeringer som hele ens applikation skal have. Godt nok undgår man
> if-else men det er da ikke meget pænere.
>
> Ellers kan jeg ikke forstå de laver et eks. der koncept mæssigt er
forkert.
> (hvilket de jo sikkert ikke gør). Men hvis du forstår den forslåede
> implementering hvilken rolle har Model klassen så? Vil du ikke mene den
skal
> have alle metoder som der skal abstraheres på?
>
> Anders
>
>



Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408177
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste