Announcement

Collapse
No announcement yet.

Struktur einer Windows-MDI-Anwendung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Struktur einer Windows-MDI-Anwendung

    Hallo!

    Ich bin gerade dabei mein erstes größeres Projekt in C# abzuwickeln und bin im Moment dabei mir Gedanken über die Struktur der Software zu machen.

    Kurz zum Ziel des Projektes:
    Die Anforderung kommt von einem Steuerberatungs-Büro die zunächst eine einfache Einnahmen- und Ausgabenrechnung brauchen. Das alleine wäre ja relativ einfach zu lösen - es besteht aber die Möglichkeit (was natürlich zu hoffen wäre) das später noch Anforderungen dazu kommen. Meine Idee dazu wäre es jetzt ein MDI-Form zu erstellen in dem ich zunächst die Einnahmen- und Ausgabenrechnung ausführe und später noch zusätzliche Anwendungen einhängen kann.

    Meine bisherigen Ideen zur Programmstruktur:
    Aufbauen möchte ich das ganze nach dem 3-Schichtenmodell (Daten, Logik, Präsentation). Mit der Datenschicht habe ich auch kein Problem, ich habe eine Datenbank sowie eine Klasse in der ich alle Datenbankoperationen sammle, in der Logik-Schicht habe ich alle Business-Objekte mit ihren Operationen.

    Die große Frage ist jetzt wie ich das mit der Präsentationsschicht (=Windows-Forms) angehe. Wenn ich in Visual-Studio ein neues Windows-Projekt erstelle wird dieses ja immer mit einem Formular gestartet, das heist ich habe immer die Bindung zwischen Logik und Präsentation - das gefällt mir irgendwie nicht so...

    Es kann auch sein dass ich mit meinen Ideen zur Struktur total daneben liege, aber ich würde mich freuen wenn ihr mir dazu irgendwelche Tipps bzw. Beispiele geben könntet wie man das am besten aufziehen kann.

    Danke

  • #2
    Die große Frage ist jetzt wie ich das mit der Präsentationsschicht (=Windows-Forms) angehe. Wenn ich in Visual-Studio ein neues Windows-Projekt erstelle wird dieses ja immer mit einem Formular gestartet, das heist ich habe immer die Bindung zwischen Logik und Präsentation - das gefällt mir irgendwie nicht so...
    Ohne Bindung zwischen den Schichten geht's nicht sonst würde deine Anwendung nichts tun. Und nur weil du zu Beginn eine Form hast heißt noch lange nicht das du darauf auch Logik platzieren mußt.
    Du solltest dich vielleicht einmal näher mit dem MVC bzw. MVP Pattern auseinandersetzen. Dann wird dir wahrscheinlich klarer wie man die Schichten miteinander verbinden kann, wie sich die einzelnen Schichten gegenseitig kennen und was man tun kann um die Bindung möglichst locker zu halten(Stichworte z.B. Interfaces , Fabrik-Patterns, Dependency Injection)

    Comment


    • #3
      Ralf Jansen hat schon fast alles gesagt. Zum Thema Erweiterbarkeit, fällt mir noch das Plugin-Pattern ein (du musst ja nicht zwingend ein MDI Progrämmchen machen, wobei sich das Eine vom Anderen nicht ausschließt). Vielleicht kann dir das ja auch weiterhelfen.
      Just be DRY and KISS your customers.

      Comment


      • #4
        Danke für Eure Antworten!

        ...dann werde ich mich jetzt mal in die Recherche stürzen...

        Comment

        Working...
        X