2009-07-09 4 views
4

Wir betrachten Muster wie MVP, die dazu beitragen können, dass wir die Benutzeroberfläche von der Logik der Daten trennen. Die Initiative ist spät im Spiel, aber es ist ein Versuch, Regeln zu setzen, die wir mehr testbaren Code schreiben müssen (derzeit schreiben wir Haarbälle, Spaghetti, Klebeband und Holzschrauben usw.)Welches .NET 2.0-Entwicklungsmuster (MVP, MVC usw.) eignet sich am besten, um eine einfache Wiederverwendung beim Wechsel zu WPF und MVVM zu ermöglichen?

Wie wir sehen Zu den Ansätzen, die wir mit der 2.0 WinForms App machen, halten wir auch WPF und die nächste Generation der Benutzeroberfläche unseres Produkts fest. Wir versuchen, etwas zu schaffen, das in der WPF-Welt wiederverwendbar sein sollte, indem wir unsere WinForms-Benutzeroberfläche/Ansicht ausziehen und unsere neue WPF-Benutzeroberfläche/Ansicht aufsetzen.

Gibt es ein bestimmtes Muster für die 2.0-Entwicklung, das sich natürlich in das MVVM-Muster von WPF einfügt? Welches Muster sollten wir heute verfolgen, damit wir in WPF übergehen können, ohne entweder WPF auf unsere bestehende Präsentationslogik zu hacken oder unsere Präsentationslogik (wieder) so zu überarbeiten, dass sie WPF entspricht?

+0

+1 nur für "Haarballen, Spaghetti, Klebeband-und Holzschrauben, ..." ist der Code die ganze Zeit sehen :) – BigBlondeViking

Antwort

3

Das MVP-Muster wird Ihnen diese logische Trennung geben, aber meistens glaube ich, dass MVPs Stärke darin besteht, testbaren Code zu schreiben.

Ich würde empfehlen, Onkel Bobs (Robert C Martin) Buch zu lesen, das Agile Principles, Patterns und Praktiken genannt wird.

Auch ich glaube, dass Sie nicht unbedingt ein Muster wie MVP verwenden müssen, um Ihre Geschäftslogik logisch von Ihrer UI-Schicht zu trennen. Wenn sie richtig strukturiert ist, würde sich Ihre gesamte Geschäftslogik in einer Business-Schicht befinden, die vollständig von Ihrer UI-Schicht getrennt ist. Sie können dann mehrere Schnittstellen wie WinForms, WebForms oder WebService oder sogar WPF auf derselben Business-Schicht verwenden, ohne Geschäftslogik, Validierung, Autorisierungsregeln usw. neu schreiben zu müssen.

In diesem Fall würde ich Rocky Lhotkas Buch mit dem Titel "Expert C# Business Objects" empfehlen. Dieses Buch ist leicht zu lesen und er erklärt, wie logische Schichten getrennt werden. Sein Ziel ist es auch, den UI-Code auf einem Minimum zu halten.

+0

Danke für die Anregungen; Ich habe Uncle Bobs "Clean Code", den ich erst begonnen habe, aber mich (über eine frühe hässliche Methode, die in eine saubere Klasse umgewandelt wurde) erleuchtet, wie man Methoden schreibt, die wirklich eine Sache machen und daher richtige Komponententests schreiben (die nur eine Sache testen) ein Kinderspiel zu schreiben. – STW