Mehrschichten- Architektur
Sinn: Zur Strukturierung von Software, die eine spätere Änderung erleichtert und eine Wiederverwendbarkeit der einzelnen Komponenten ermöglicht.
Konkretes Beispiel: Über eine grafische Oberfläche (GUI) sollen Daten (Artikel) in einer Datenbank (DB) abgespeichert werden.
GUI-Klasse Fachklasse DB-Artikel DB-Zugriff Datenbank Startklasse Fachkonzept- Schicht GUI-Schicht Verbindungs- Schicht Datenhaltungs- Schicht Daneben gibt es noch die "klassische" Klasse Artikel, in der sich Bezeichnung, Preis, usw. des Artikels befinden.
Die Klassen im Einzelnen (nicht vollständig implementiert)
class DBZugriff{ private String datenQuelle; private Connection connectionDB; private Statement statementSQL; public void oeffneDB() throws SQLException{... } public void schliesseDB() throws SQLException{... } public ResultSet lesen(String pSQL) throws SQLException{... }
public void einfuegen(String pSQL) throws SQLException{... }
class ArtikelDB{ private DBZugriff derDBZugriff; public ArtikelDB(){... } public void einfuegenArtikel(Artikel pArtikel) throws Throwable{... } public Artikel sucheArtikel(String pAnr) throws Throwable{... }
class Artikel{ private String aNr; private String bezeichnung; private int bestand; private double preis; Artikel(){ } Artikel(String pAnr, String pBezeichnung, int pBestand, double pPreis){... } public void setAnr(String pNr){... } // usw.
class GUI { // wie üblich... //... und // mit Wanzen }
Aufgabe: Implementieren Sie die zugehörigen Klassen. Benutzen Sie dazu das Dokument 23-1_db.doc, in dem ein (unstrukturierter) DB- Zugriff auf eine Access-DB beschrieben wird.