| 

.NET C# Java Javascript Exception

7
Hallo Zusammen,

ich habe die Woche eine Mail eines Beratungsunternehmens aufgeschnappt die in Sachen Visual Cobol for .NET den Schwerpunkt legt. Dort versucht man den Cobol Kunden den Umstieg auf die .NET Variante integriert in VS201x nahe zu legen. Allerdings denkt man da wohl über das MVVM Pattern so:

MVVM ? Dies ist die Technik, die Ihr externer Mitarbeiter bei unserem ersten Termin vorgestellt hat (auf Basis einer Framework-Lösung). Ich habe das Thema in meiner Telefonkonferenz mit dem Produktmanagement von Micro Focus angesprochen und dort ziemliches Erstaunen geerntet.

Meine eigene Meinung dazu: Zum einen ist MVVM ein lobenswerter Ansatz die Trennung zwischen Benutzer-Dialog und Anwendung zu realisieren. Zum anderen werden diese Ansätze nicht sehr intensiv eingesetzt und man findet wenige Quellen im Internet. Ich bin hierzu weiter mit Kollegen aus dem Cobol Umfeld im Gespräch zu diesem Thema.


Man ist der Meinung das macht man heute nicht mehr und man solle brav im Code Behind einer jeden WPF Maske drauf los tippen.

Was sagt Ihre dazu? Ich hatte da nur ein müdes Lächeln für übrig. Aber vielleicht liege ich ja auch total falsch.
30.09.2014
dkb 71 3
3 Antworten
5
Ein grundlegende Ziel bei der Erstellung eine Software ist:

  • Sie soll wartbar sein (maintainable)
  • Sie soll erweiterbar sein (evolable)
  • Sie soll (unit)-testbar sein (testable)

Um dies zu gewährleisten setzt man auf ein Pattern namens *Separation of Concerns* (SoC)(Trennung der Belange). Man trennt das Softwareprojekt in bestimmte Bereiche auf, die strikt von einander getrennt sind - ohne direkte Abhängigkeiten
Eine Kopplung der Bereiche findet über Contracts/Interfaces statt. Das Pattern dahinter heisst *Inversion of Control* oder *Dependency Injection*.
Der Vorteil hiervon ist, dass man Bereiche austauschen kann, wenn sie nur das selbe Interface haben.

Das Architektur Pattern MVVM (Model-View-ViewModel) ist eine Umsetzung dieses Prinzips.

Bei kleineren Quick und Dirty Anwendungen, wo es nicht auf einen langen Lifecycle ankommt und wo es kein Problem ist, wenn die Anwendung mit der Fertigstellung in den Legacy Mode ("tot") über geht, ist nichts gegen Code-Behind einzuwenden.

Aber ansonsten ist Codebehind ein Sumpf. Je länger man entwickelt, um so tiefer sinkt man ein. Schon bald ist der Spaß verflogen und wenn die Qual einsetzt, ist es schon zu spät.
30.09.2014
judgy 3,0k 1 1 8
5
Meine eigene Meinung dazu: Zum einen ist MVVM ein lobenswerter Ansatz die Trennung zwischen Benutzer-Dialog und Anwendung zu realisieren. Zum anderen werden diese Ansätze nicht sehr intensiv eingesetzt und man findet wenige Quellen im Internet. Ich bin hierzu weiter mit Kollegen aus dem Cobol Umfeld im Gespräch zu diesem Thema.

Ich kann mir gut vorstellen, dass der selbe Kollege auch für ein Zitat ähnlich dem folgenden gut wäre:
Ich habe mit meinen Kollegen aus dem Cobol Umfeld zum Thema agile Methoden und Continous Delivery gesprochen. Das sind beides lobenswerte Ansätze, diese werden aber nicht intensiv eingesetzt und man findet kaum Realbeispiele. Amazon und Netflix sind ja auch eher kleine Klitschen, in denen sowas aber durchaus funktonieren kann. Ich bin hierzu weiter mit Kollegen aus dem Cobol Umfeld im Gespräch zu diesem Thema.

IMHO treffen da Welten aufeinander. Wenn deren Vorschlag aber tatsächlich sein sollte, in WPF die Code-Behind Datei mit Code zu füllen statt auf bewährte Ansätze (wie MVVM) zu setzen, möchte ich das Ganze mit einem Zitat von Jesse Robbins abzuschließen:

Don't Fight Stupid. Make More Awesome.
30.09.2014
ffordermaier 8,4k 3 9
2
581.000 Treffer zu MVVM sind ja auch nicht wirklich viel. Allerdings - im Gegensatz zu "Visual Cobol" mit nicht mal 40.000 Treffern - finde ich das schon eine ganze Menge ;)

Ob das Kind nun MVVM, MVC oder sonst wie heißt - um eine saubere Trennung von UI und Business Logic (BL) kommt man eigentlich nicht mehr drum herum. Gerade heute kommen weitere Detail zu Windows 9 auf den Markt - sollte ich irgendwann mal meine ganze Oberfläche austauschen müssen, dann bleibt wenigstens der gesamte Resr (die BL) erhalten.

Ich würde mal fragen, welche Techniken / Entwurfsmuster bei denen denn zur Trennung UI/BL verwendet werden.
30.09.2014
Xantiva 2,3k 2 9
3
Laut dkb brauchen sie gar keine Trennung von UI/BL ("... man solle brav im Code Behind einer jeden WPF Maske drauf los tippen ...") -> gleich das Beratungsunternehmen wechseln.
Roland Bär 30.09.2014

Stelle deine Programmieren-Frage jetzt!