Frage

Es gibt ein Diagramm, das den Unterschied zwischen traditionellen MVC und Cocoa MVC Darstellung hier:

Cocoa Design Patterns: Das Model-View-Controller-Entwurfsmuster

Gibt es irgendwelche Vorteile davon die "Cocoa" Art und Weise in .NET mit Visual Studio zu tun?

War es hilfreich?

Lösung

Es gibt keinen Grund nicht , um es zu tun auf diese Weise, wenn es mehr Sinn macht für Sie. Seien Sie sich bewusst, dass viele Dinge in der Cocoa Framework sind, wie sie sind aufgrund höherer Ebene Designentscheidungen, zum Beispiel begünstigende Zusammensetzung und Delegation über Subklassifizieren.

Wenn Sie möchten, können Sie C # Software entwerfen, wie Objective-C Software sucht, aber die Menschen ohne Cocoa Erfahrung haben, um es ihnen erklärt, weil die lose gekoppelten Design wird nur „weird“, um sie zu sein scheinen.

Ach ja, richtig - die Vorteile dieser Konstruktion sind eine höhere Wiederverwendbarkeit der UI-Ansicht und Modellklassen (da sie keine Kenntnis voneinander haben), etwas einfacher Code in den Ansichtsklassen und mehr von der „Anwendungslogik“ an einem einzigen Ort (die Controller-Klassen).

Andere Tipps

Ein Entwickler auf dem Journal .Net Entwickler wurde über seinen Übergang zu schreiben und darunter .Net Cocoa Vergleich der Cocoa MVC Stil in .Net mit

http://dotnetaddict.dotnetdevelopersjournal.com/tags/?/cocoa

Ist das nicht die "Cocoa-Version von MVC" das Muster in ASP.NET MVC verwendet? Bisher alle Beispiele haben die Kommunikation b spitz / w Ansicht und Modell durch die Steuerung ohne direkte Interaktion zwischen V und M. Bin ich verstehen dies falsch?

Der Hauptvorteil des Kakaos „vermittelnde Controller“ (Subklassen von NSController) besteht darin, dass sie einen großen Teil der Standard-Funktionalität implementieren erforderlich zwischen einem Modell und seiner Ansicht zu vermitteln. Dinge wie das Teil des Modells durch die Auswahl der Ansicht angezeigt Verfolgung und Transaktionsunterstützung (so dass Sie, zum Beispiel, begehen oder eine Reihe von Änderungen an der Ansicht oder Modell verwerfen) enthalten sind, ‚kostenlos‘. Unter Verwendung des NSController Subklassen als ‚Leim‘ Code zwischen Modell und Ansicht befreit Sie als Entwickler Ihre Bemühungen auf der „Koordination des Controller“ -Funktionalität-anwendungsspezifischen Logik zu konzentrieren, die in der Steuerungsschicht befindet.

So ist es wert, dieses Muster in .NET? eine allgemeine koordinierende Steuerung immer richtig zu arbeiten, ist nicht trivial (es von Apple nahm ein paar Releases alles richtig zu machen, zum Beispiel). Dinge wie Baum Controller sind besonders heikel. Wenn Sie nur dieses Muster in einer oder wenigen Projekte verwenden, könnte es nicht der Mühe wert sein. Auf der anderen Seite, ich bin sicher, dass die Gemeinschaft eine allgemeine Steuerung Rahmen ala Cocoa NSController Hierarchie schätzen würde.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top