Autor Thema: Programmierung strukturieren,  (Gelesen 3380 mal)

Offline qojote

  • Aktives Mitglied
  • ***
  • Beiträge: 229
  • I love YaBB 1G - SP1!
Programmierung strukturieren,
« am: 07.09.03 - 23:11:00 »
Hi,
ich versuch gerade meine Programmierung etwas stärker zu strukturieren mit Klassen und so.
Kann mir jemand sagen ob es zum Beispiel Sinn mach sowas siehe Code in eine eigene Klasse zu packen ich bin da irgenwie unschlüssig für was ich klassen verwenden soll. Weil bei vielen Sachen würden es Methoden eigentlich auch tun.


public class sql {

public String constr;
Connection con;
public ResultSet rs;
public sql(String constr)

{
         this.constr=constr;
         try{
         Class.forName("com.ibm.as400.access.AS400JDBCDriver");
         String connstr = ("jdbc:as400:ipadresse");
         con = DriverManager.getConnection(connstr,"","");
}
catch(Exception e) {
//System.out.println("ausstieg");         
e.printStackTrace();
}
}
public void getrs(String sqlquery)
{
   

   try
   {
         Statement stmt = con.createStatement();
         rs=stmt.executeQuery(sqlquery);
   }
   catch(Exception e) {
//System.out.println("ausstieg");         
e.printStackTrace();
}
}
}

Danke Qojote

Offline Axel_Janssen

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 769
Re:Programmierung strukturieren,
« Antwort #1 am: 08.09.03 - 00:10:53 »
Das ist gerade bei Datenbankabfragen eine hochphilosophische Frage. Also dieser code gehört grundsätzlich erstmal in eine Klasse.

Ein relativ grundsätzlich sinnvoller Ansatz ist Data Access Object Design Pattern:
http://java.sun.com/blueprints/patterns/DAO.html
(obwohl das vielleicht erstmal zu tief geht, vieles von der dort angebotenen Flexibilität braucht man oft nicht).

Geh von den Objekten aus die du in der Anwendung brauchst.

Wie soll die Anwendung ungefähr aussehen?

Gruß Axel
... design patterns are abstract designs that help identify the structure and elements involved in a specific design solution. From this, a concrete implementation can be produced.
Kyle Brown

Offline qojote

  • Aktives Mitglied
  • ***
  • Beiträge: 229
  • I love YaBB 1G - SP1!
Re:Programmierung strukturieren,
« Antwort #2 am: 08.09.03 - 09:19:18 »
HI,

ich lese Daten aus einer DB2 aus und date damit berichte etc in einer verschiedenen Notes dbs up.

Ablauf im kurzen.

pro notesdb sql gegen db2
entsprechende notes db öffnen.
result set durchlaufen und immer passendes notes dok anhand von primär schlüssel suchen.
notesdok updaten
log schreiben.
nächstes bis resultset ende.
nächste notes db.

ich dachte mir das die Notesdoks ein object sind.
die notesdbs.
und eine klasse mit methoden für die verschiedenen updates.

Gruß
qojote

Axel Janssen temp

  • Gast
Re:Programmierung strukturieren,
« Antwort #3 am: 09.09.03 - 14:02:13 »
Hi qojote,

das ist schwierig von remote.



Zitat

entsprechende notes db öffnen.
result set durchlaufen und immer passendes notes dok anhand von primär schlüssel suchen.
notesdok updaten
log schreiben.
nächstes bis resultset ende.

Das sind ja im Grunde wiederkehrende Aktionen, die in einer Art Schleife ablaufen.
Du kannst dir die entsprechenden Parameter in ein NotesDokument schreiben? (Pfad der Notes-DB, SQL-für NotesDB, Pfad des Lok) und die Parameter dort auslesen?
Sinnvoll wäre es vermutlich 1 Steuerungsmethode (in einer Klasse SteuerungFacade), die den obigen workflow abbildet.
Dann eine Klasse für SQL-Operationen, 1 Klasse für Notes-Operationen mag ein ganz okayer Start sein. Fürs Log schreiben reicht eine eigene Methode in der SteuerungFacade.

hoffe es hilft. möglicherweise am wochenende mehr.

Axel  
« Letzte Änderung: 09.09.03 - 14:02:42 von Axel Janssen temp »

Offline qojote

  • Aktives Mitglied
  • ***
  • Beiträge: 229
  • I love YaBB 1G - SP1!
Re:Programmierung strukturieren,
« Antwort #4 am: 10.09.03 - 15:34:33 »
Hi,

so ähnlich hab ich mir das auch gedacht.

Sag mal ist es eigentlich besser wenn ich eine klassenmethode habe zb.
get sql die mir ein resultset  erzeugt aus einer anderen klasse zuzugreifen über neues object.getsql und dann alle Aktionen mit dem result set auf diese art und weise durchzuführen(also mit object.resultset.irgendwas ) oder mir einmal das resultset als return wert der methode zurückgeben lasse und damit weiter arbeite( resultset rs = object.getsql())

Ich hoffe das was ich geschrieben habe kann man einigermaßen verstehen.

Gruß
qojote

Axel Janssen temp

  • Gast
Re:Programmierung strukturieren,
« Antwort #5 am: 10.09.03 - 16:41:35 »
Sag mal ist es eigentlich besser wenn ich eine klassenmethode habe zb.
Nein. Das ist immer besser als Instanz. Du denkst zu prozdural.
get sql die mir ein resultset  erzeugt aus einer anderen klasse zuzugreifen über neues object.getsql und dann alle Aktionen mit dem result set auf diese art und weise durchzuführen(also mit object.resultset.irgendwas ) oder mir einmal das resultset als return wert der methode zurückgeben lasse und damit weiter arbeite( resultset rs = object.getsql())
Die ganzen Datenbankaktivitäten sollten eigentlich in 1er Klasse passieren. Warum Resultset da zurückgeben. Resultset ist in dem Paket java.sql.*. Eine Klasse (oder ein Typ von Klassen) kümmert sich um den Datenbankzugriff. Auf diesen "Datenbankzugriffs-Service" wird von einer anderen Schicht zugegriffen.  
Klingt vielleicht ein bischen esoterisch. Bin bis zum Wochenende busy. Kümmere mich dann darum. Bin jetzt ziemlich beschäftigt.

Gruß Axel

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz