Strategie oder ?

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo zusammen,


ich habe mal eine Frage zu nachstehender Struktur.


Eine Klasse "Data" , die Daten bekommt und dann vielleicht in einem Switch case Block schaut, um
welche Daten es sich handelt und und was mit den Daten passieren soll


Es gibt 2 verschiedene Arten von Daten --> Klasse "DatenA" und eine Klasse "DatenB"

Und es gibt nun 3 verschiedene Möglichkeiten, in welcher Form die Daten verarbeitet werden sollen.

"UpdateData" "SelectData" "InsertData"


WENN man nun ein Interface "DataInterface" erstellt mit einer Methode void execute();

und die Klasse Data und die klassen "UpdateData" , "SelectData" , "InsertData" das Interface
implementieren,


ist das dann

a.) Das Strategie Pattern
b.) gar kein Pattern
c.) eine schlechte Struktur
d.) ???


Es wäre schön, hier ein feedback zu bekommen.


VG
 
F

Fritz Walter

Gast
execute() hat keinen Parameter.

Wie willst du das Data-Object übergeben? Reicht es eine Oberklasse Data zu übergeben?

Oder brauchst du für jedes Datenobjekt eine spezifische Schnittstelle in deinen Exec-Klassen?
 
G

Guest

Gast
Oh, toll. Danke für die Antwort.

Ich habe mir jetzt so gedacht:


Datenklasse Data:

Code:
......

public void doPost (HttpServletRequest  req, HttpServletResponse  res)
    throws ServletException, IOException {
	  
	
     if (req.getMethod().equals("POST")){
	  
	 
      try{
      choise = Integer.parseInt(req.getParameter("case"));
      
      }
      catch(Exception e){}
      
      //Auswahl
      if (choise > 0){
    	  
    	  switch (choise){
    	  
    	  case 1: { a = new DatenA(req);

.....

ruft also , ne nachdem, um welchen Fall es geht eine Datenklasse auf und übergibt dieser Klasse die eingehenden Daten.

Jetzt hab ich ein Interface:

Code:
public interface BehaviourInterface {
	
	public void execute();

}


Und in der Datenklasse sage ich dann:

public class DataA implements BehaviourInterface{

Code:
......

APOJO  apo = new APOJO();
XController control = new XController();

public void execute(){

apo.setName(req.getParameter("name"));

// Jetzt apo übergeben...
control.setData(apo);
//.....
}
....

So hatte ich mir das gedacht. Hat wohl wenig mit Strategie zu tun oder? Ist das sinnvoll das so zu machen.
Ich hoffe, man wird schlau aus meinem Vorhaben.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben