3 Schichten-Modell Programmierstil

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 3 Schichten-Modell Programmierstil

    Hallo,

    ich habe eine Frage zum 3-Schichten-Modell.
    Bisher habe ich etwas wild programmiert, vom Stil eher
    sequentiell. Jetzt eigne ich mir OOP an und alles was dazu gehört.
    Dabei bin ich in der Theorie auf das oben beschriebene Modell gestoßen. Da hapert es jetzt bei der praktischen Umsetzung.

    Zur Frage:

    Der User soll eine URL einer Datenbank hinzufügen können.
    Dabei soll die URL validiert werden. Anschließend wird überprüft, ob die URL bereits vorhanden ist. Falls ja, ist kein Neueintrag möglich.

    Nach meinem Verständnis teile ich das wie folgt auf:

    url_eintragen.php
    >> Beinhaltet im Quellcode nur das Eingabeformular

    url_prüfung.php
    >> Validierung der URL. Wird durch url_eintragen aufgerufen
    >> oder event. durch Ergebnisseite ?!?

    url_db_check.php
    >> DB-Abfrage aufgerufen aus url_prüfung.php

    db.php
    >> Stellt Datenbankverbindung her. Eingebunden in url_db_check

    Ist das soweit richtig ?

    Wo wird das Objekt der Klasse url_prüfung angelegt ?
    Ist es richtig, dieses bereits in url_eintragen anzulegen?

    $purl=new url_pruefung();
    $url_test=$purl->url_pruefung($url);

    oder bedarf es einer zusätzlichen Ergebnisseite?

    Hoffe, das ist noch halbwegs verständlich

    Vielen Dank im Voraus,

    Sophie

  • #2
    Hallo,

    Du darfst nicht so sehr in Dateien denken, sondern mehr in Klassen. Wieviele Dateien du dafür hast ist egal.

    Das drei Schichten Modell besagt, dass es eine Ebene zur Dateneingabe und Ausgabe gibt, eine Schicht für den Ablauf des Programms/Berechnungen und eine Ebene die sich mit dem Laden und Speichern von Daten befasst.

    Idealerweise bekommt jede Schicht einen Ordner mit ihrern eigenen Klassen. Dadurch ist schonmal übersicht gewährt.

    Die Aufteilung für dein Problem wäre wie folgt:
    1. Schicht stellt das Formular bereit, nimmt die Eingabe entgegen
    2. Schicht überprüft die Eingaben
    3. Schicht speichert die Daten

    Jede Schicht besitzt Klassen, welche die benötigten Methoden bereitstellen.
    Dabei kennt eine Schicht immer nur die Klassen einer Schicht, die sich direkt unter ihr befindet.
    Die Datenschicht ruft niemals Methoden anderer Schichten auf.
    Die Logikschicht ruft Methoden der Datenschicht ab, aber nicht der Präsentationsschicht.
    Die Präsentationsschicht ruft Methoden der Logikschicht auf, aber nicht der Datenschicht.

    Wichtig dabei ist, den Ablauf einzuhalten, also nicht von der ersten Schicht direkt in die dritte Schicht zu springen, auch wenn es manchmal bequemer ist.

    Gruß Thomas

    Kommentar


    • #3
      Schau mal hier, dann biste schlauer:

      http://de.wikipedia.org/wiki/Model_View_Controller

      Kommentar

      Lädt...
      X