Design Pattern für die Datenverarbeitung? (MVC Alternative)

8

Als PHP / Web Developer bin ich ein großer Fan von MVC (Model-View-Controller). Ich liebe es, eine App auf einer soliden Grundlage zu erstellen, die Geschäftslogik, Präsentationslogik und Kontrollfluss definitiv voneinander trennt.

Ich arbeite jedoch auch sehr viel an rein serverseitigen Apps, die lediglich Daten verarbeiten und den Prozess und alle relevanten Ergebnisse protokollieren (zB Import-Skripte, Datenmigrations-Skripte, Web-Services, TCP-Socket-Server, etc). In diesen Fällen ist kein großes fantastisches MVC-Framework erforderlich.

Mir ist klar, dass MVC immer noch hier angewendet werden kann, aber es scheint wie Overkill. Gibt es neben einem rohen prozeduralen Ansatz oder einem zufälligen Mash-up von Klassenobjekten auch spezielle Architekturentwurfsmuster, die sich besonders für Datenverarbeitungs-, Run-Once- und Server-Daemon-Anwendungen eignen?

    
Brian Lacy 10.02.2010, 01:03
quelle

4 Antworten

1

Wenn ich es richtig verstehe, haben die Anwendungen, über die Sie sprechen, keine Benutzeroberfläche, die über die Shell-Befehlszeile hinausgeht. Wenn das der Fall ist, können Sie MVC immer noch auf der Softwarearchitekturebene verwenden - Ihre Ansicht wird einfach trivial sein. Ihr Controller wird in ähnlicher Weise trivial sein, da nur sehr wenige Aktionen zwischen dem Model und der View stattfinden.

Natürlich, mit einem trivialen View und Controller könnte es auch kein Muster sein. Ich sehe kein Problem damit (auf der Ebene, von der Sie sprechen). Der Schlüssel ist ein schnittstellenbasierter Ansatz (ähnlich wie bei MVC) und dies wird am Ende zu einem besseren Design führen; eine, die leicht an eine andere Benutzerschnittstelle oder ein Aufrufmittel angepasst werden kann, wenn dies in der Zukunft erforderlich ist.

    
Steven Mackenzie 05.03.2010, 13:42
quelle
1

Ich denke, Sie müssen anfangen, sich zu fragen, was das Problem ist, das Sie lösen wollen (mit diesen Mustern, nach denen Sie suchen)

Wenn Sie das wissen, finden Sie vielleicht etwas Nützliches:

Ссылка

    
Aivar 11.02.2010 17:13
quelle
1

Da es sich um Datenverarbeitung handelt, gehe ich davon aus, dass Sie eine Art von Datenspeicher haben. Sie können Repository- und DTO (Data Transfer Object) Architekturmuster betrachten.

Genereller sind einige der Entwurfsmuster im GoF-Katalog auch für Sie geeignet, wie Singleton für Run-Once, Facade zum Abstrahieren der Verarbeitungslogik, Strategy für unterschiedliche Verarbeitungslogik, State Machine vielleicht für den Daemon

    
Fadrian Sudaman 05.03.2010 12:29
quelle
0

Ich schlage vor, Sie lesen diesen Artikel zuerst Einführung in Design Patterns Using PHP

Dies würde Ihnen dann helfen, ein Muster von dieser Seite zu verstehen und auszuwählen. Designmuster

    
Taha 05.03.2010 12:07
quelle