Modul Interaktion

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

  • Modul Interaktion

    Servus,

    ich habe bei meinem Projekt folgendes Problem:

    es gibt viele "Module" die aufeinander aufbauen sollen z.B.
    - ein Modul Adressverwaltung = am
    - ein Modul Benutzerverwaltung = um
    - ein Modul Kundenverwaltung = cm

    Mit am kann der Benutzer u.a. Personen anlegen. Will der Benutzer nun einen user anlegen braucht er ja erstmal eine Person. Ist diese aber noch nicht vorhanden muss sie erstmal angelegt werden. Das selbe gilt für einen neuen Kunden. Nun wäre es ja nonsen wenn ich in jedem Modul die Erstellung einer Person implementiere. Die Module sollen sich nicht direkt "kennen" d.h. ein include von Dateien aus einem anderen Modul fällt schon mal weg.

    Also habe ich mir überlegt das ganze über ein Observe Pattern zu realisieren. Mich stört aber das bei der Kommunikationen zwischen den Modulen jede Menge Funktionsaufrufe stattfinden (durch das Pattern bedingt) und somit die Fehlerfindung nicht grade leichter wird.

    Meine nächste Idee ist also von den Modulen weg zu gehen und Atomare Actions (aa) zu benutzen: Die Aktion Person anlegen besteht z.B. aus den drei aa's Formular zeigen, Daten speichern und Bestätigung zeigen. Jede aa arbeitet für sich alleine und legt ihre Daten in einem Zwischenspeicher ab von wo andere aa's die Ergebnisse weiter verarbeiten können. Die Abfolge der aa's wird prinzipiell in einer XML Datei festgelegt und je nach Kontext abgearbeitet. Wenn also schon eine Person existiert dann werden die aa's für das anlegen der Person nicht abgearbeitet sondern übersprungen. Die Abfolge der aa's soll Baumartig sein, da es durchaus sein kann das man "Kunde anlegen" auch in einer anderen Aktion verwenden will.

    Soweit so gut... nun zu meinen Fragen:

    1.) Was haltet ihr davon? Gibt es Alternativen?
    2.) Wie könnte man die Klassen definieren um das ganze abzubilden?

    Mein erster Ansatz für das Klassenmodell wäre eine Klasse ActionContainer welcher Actions enthalten kann. Davon abgeleitet die Klasse Actions, welche die eigendliche aa ist => also haben wir wieder eine Baumstrucktur. Aber irgendwie komm ich nicht mehr so recht weiter...


    Bye!

  • #2
    ich kann dir nicht so ganz folgen, weil mir ein paar begriffe nicht geläufig sind. was sind atomare actions z.b.?
    und was versteht man genau unter einem modul.
    könntest du vll. diese fragen aufklären, dann ist es mir vll. möglich dir zu helfen ^^...

    greetz
    Marskuh

    Kommentar


    • #3
      Atomare Actions:
      Ist für mich eine Aktion die im Hinblick auf ihre Verwendung nicht mehr unterteilbar ist.
      Kleines Bsp.: Anlegen eines Users über ein Formular
      Diesen Prozess könnte man in folgende AAs unterteilen:
      1. Laden der vorhandenen Personen
      2. Generieren des Formulares
      3. Anzeigen des Formulares
      => Benutzer eingabe
      4. Auswerten der Eingaben
      5. Speichern in die Datenbank.

      Fazit: Atomare Actions lassen sich nur als ganzes wiederverwenden, nicht teilweise. Sind also als ein "Baustein" zu betrachten.

      Module:
      ~ sind eine Sammlung von Aktionen (keine AAs!!!) die nach einem Themengebiet sortiert sind.
      Kleines Bsp.
      Das Modul Adressverwaltung bietet folgende Aktionen:
      1. Anlegen von Personen
      2. Bearbeiten von Personen
      3. Löschen von Personen
      ...

      Wer weitere Fragen hat einfach Fragen!!!!
      Zuletzt geändert von dayman; 13.06.2004, 12:02.


      Bye!

      Kommentar


      • #4
        hmm hat jetzt zwar nichts mit deiner frage zu tun, aber mich interessiert das, was du da erzählst.
        macht durchaus sinn.
        kann man das irgendwo genauer nachlesen?

        Kommentar


        • #5
          Hab leider noch kein Buch geschrieben
          Das sind eigendlich nur ein paar geistige Ergüsse von mir. Wollte halt nur mal sehen was andere davon halten...

          Bischen was zum lesen:

          - Design Pattern 1
          - Design Pattern 2
          - OOP


          Bye!

          Kommentar


          • #6
            @goth
            Ich hatte gehofft du würdest deine Meinung mal dazu sagen...


            Bye!

            Kommentar

            Lädt...
            X