Hallo,
1. Ist MVC in diesem Fall wirklich nicht angebracht?
Ja MVC passt hier sowas von überhaupt nicht. MVC ist gut für GUIs,
GUI-Frameworks, u.ä. hier aber absolut frahl am Platze.
Zitat:
2. Kennt Jemand von euch "Pipes and Filters"
Ja. Siehe hier:
http://www.christian-rehn.de/2010/10...pe-and-filter/
Zitat:
und würde ich das Prinzip mit der oben beschrieben Weise richtig anwenden?
Jooaa... möglich. Übertreibs aber nicht. Ein Filter als Datenquelle, eine zum Signieren und eine Datensenke. Für deine 7 Schritte 7 Filter zu verwenden ist absolut überdimensioniert.
Zitat:
3. Haltet ich "Pipes and Filter" noch für Zeitgemäß? (Meine Beschreibung stammt aus einem Buch von 1998)
Ja. Definitiv. Habs ja selbst grad eingesetzt. Die ganzen bekannten Patterns sind Anfang bis Mitte der 90er Jahre dokumentiert worden, aber nur sehr wenige davon (wenn überhaupt welche) sind obsolet geworden. Die Beispiele aus den Büchern sind heute vielleicht nicht mehr immer passend, aber die Patterns sind immer noch aktuell.
Zitat:
4. Kennt ihr alternative Architekturmuster die ich mir anschauen könnte?
Ich würde nicht auf biegen und brechen ein Muster nehmen. Klar Muster sind toll und es macht was her, wenn du sagen kannst, dass du eins verwendet hast (zumindest sofern es passt), aber Muster sind nicht alles. Versteh mich nicht falsch, ist bei ein großer Fan von Patterns. Ich find die Dinger ausgesprochen praktisch, aber nur weil etwas gut ist, heißt das noch nicht, dass mans in allen Lebenslagen einsetzen sollte. Das ist übrigens auch ein Pattern. ein Anti-Pattern, und nennt sich
Golden Hammer.
Bei der Auswahl der passenden Architektur solltest du dich fragen, inwieweit das Programm weiterentwickelt wird. Ich kenn jetzt dein programm nicht, aber ich könnte mir vorstellen, dass es um weitere Funktionen erweitert werden könnte, die PDFs verändern. Also nicht nur signieren, sondern auch verschlüsseln, drucken, verkleinern, zusammensetzen, aufteilen, den Text extrahieren, etc. In so einem Fall böte sich Pipe&Filter tatsächlich an, da du mit PDF ein allgemeines Datenformat hast. Außerdem kann es Sinn machen am selben PDF mehrere Operationen hintereinander auszuführen. Pipe&Filter passt also.
Auf der anderen Seite kann es sein, dass dein programm her für weitere Dateiformate (nicht nur PDF) erweitert wird. Oder andere kryptographische Operationen durchführen können soll. Bei einer Entwicklung in diese Richtung hast du kein allgemeines Datenformat. Hier erscheint mir Pipe&Filter eher weniger passend.
Bedenke außerdem, dass das kein allzu großes Programm sein sollte. Das, was du beschriebst ist in wenigen hundert Zeilen (bei Minimalanforderungen sogar < 100 LOC) erledigt ist. Wenn du jetzt mit ner überdimensionierten Architektur kommst, hast du nix gewonnen, aber an Übersichtlichkeit und Klarheit verloren. Der Schuss ginge nach hinten los.
Definitiv kann ich dir also nichts raten, weil ich zu wenig über deine Aufgabe weis. Überlege dir einfach, welche Vor- und Nachteile bei den verschiedenen Ansätzen hättest.
mfg
Christian
P.S.: Du schreibst ja selbst, dass es sich um ein Client-Server-System handeln soll. Das ist auch schon ein Architekturmuster.