2008-08-18 12 views
14

Verwendet jemand den Class Designer viel in Visual Studio?Klassendesigner in Visual Studio - ist es das wert?

Ich habe das Modeling Power Toys für 2005 heruntergeladen und bin beeindruckt von dem, was ich bisher gesehen habe. Das MSDN Class Designer Blog scheint für eine Weile nicht aktualisiert worden zu sein, aber es sieht immer noch ziemlich nützlich aus.

Ist der Class Designer eine schnelle Möglichkeit, die Basisanwendung zu erstellen, oder sollte ich einfach auf dem Papier trainieren und dann mit dem Codieren beginnen?

Dank

Antwort

18

Als Visualisierungswerkzeug oder zu explorativen Zwecken (mehrere Optionen erstellen, um zu sehen, wie sie aussehen) ist es nicht schlecht, aber im Allgemeinen finde ich den Objektbrowser für die meisten Dinge, die mir wichtig sind.

Als Tool zur Code-Generierung ist es eine schreckliche Idee.

Die ganze Idee, dass wir alle unsere Code-Struktur zuerst entwerfen, dann füllen Sie die Lücken mit kleinen Bits der Implementierung ist grundlegend gebrochen.

Das einzige Mal, wenn Sie wirklich wissen, was die Codestruktur aussehen sollte, ist, wenn Sie die genaue gleiche Sache vorher getan haben - aber dann können Sie nur Verwendung Ihre vorherigen Code, und Sie brauchen nicht um irgendeinen neuen Code in irgendeiner Art von Designer zu erstellen.

Wenn Sie sich im Voraus entscheiden, eine bestimmte Klassenstruktur zu verwenden, bevor Sie tatsächlich versucht haben, das Problem zu lösen, besteht eine 100% ige Chance, dass Sie das falsche Design auswählen und sich in den Fuß schießen.

+0

Ich denke, diese Antwort ist sehr subjektiv. Klassendiagramm ist ein sehr wichtiges Design-Tool. Wenn Sie eine komplexe Anwendung entwickeln möchten (die eine Verbesserung erfahren würde), dann ist ein gut durchdachtes Klassendiagramm unvermeidlich. –

+0

Klassendiagramme können beim ersten Entwurf sehr nützlich sein, aber der Punkt, den ich machen wollte, war, dass sich die Struktur auf niedriger Ebene fast immer ändert, wenn Sie mit dem Codieren beginnen. Daher ist es nicht sinnvoll, Ihren Code von einem visuellen Designer zu generieren –

+0

@Orion - Die Gültigkeit Ihrer Meinung zu UML als Codegenerierungswerkzeug hängt vom Personal, den Technologien und dem Projekt ab. Ich arbeitete mit einem Software-Ingenieur zusammen, der mit der Forward-Code-Generierung für mehrere Projekte beschäftigt war (kein Code war im endgültigen Build, der nicht vorwärts generiert wurde). Sie haben ihren Entwicklungszyklus halbiert, sagte er. Sie müssen nur in UML und nicht in Code denken. Obwohl ich bezweifle, dass der VS-Designer ein gutes Werkzeug dafür wäre. – Ian

6

Kurze Antwort: Nein.

Lange Antwort: Nein, gar nicht. Es gibt einen Grund, warum es nicht aktualisiert wurde.

[EDIT] @ MrBrutal - Entschuldigung - wollen Sie Code generieren oder nur ein Design darstellen? Weil ich deine Frage gestellt habe, um Code für dich zu generieren.

0

Ich habe es mehrmals ausprobiert, hauptsächlich um vorhandene Klassen zu sehen. Wenn es alle Beziehungen zeigen würde, wäre es nützlicher. Jetzt zeigt es nur die Vererbung an.

0

Ich finde es manchmal nützlich, öfter für die Dokumentation danach.

Es ist ein neues kleines Dienstprogramm, aber ich glaube nicht, dass Sie die volle Funktionalität in VS Pro bekommen - ich denke, Sie brauchen Architect's Edition.

1

ich es ein paar Mal benutzt habe ein paar anständige aussehende Klassendiagramme zu bekommen in Präsentationen/Blogeinträge zu setzen usw. Aber das ist über es ...

Irgendwelche Vorschläge auf andere einfache UML/Klassendiagramm-Tools, die ist einfach zu bedienen und erstellen Sie einige gut aussehende Diagramme? Muss Diagramme aus .NET-Code generieren können.

0

Die Kommentare hier deuten darauf hin, dass nur wenige Leute den Klassendesigner nützlich finden.

Amüsant zu beachten, dass Microsoft den Klassen-Designer als nützlichen Ersatz für nutzlose UML (UML-Diagramme ist nicht vertrauenswürdig, sobald sie die Synchronisation mit Quellcode verlieren) entwickelt.

Das Problem mit Klassendiagrammen ist, dass sie uns sagen, was wir bereits wissen.

0

Ich verwende nur den Klassen-Designer, um meine vorhandenen Klassen anzuzeigen, aber ich benutze es nicht anders herum, z. B. entwerfe deine Klassen dort und lasse dann den Code generieren.

2

Ich denke, das ist alt, aber ich benutze es sehr. Es könnte definitiv verbessert werden, aber ich finde es extrem nützlich, meine Klassenstruktur visualisieren zu können und zu einer bestimmten Klasse oder Methode springen zu können, indem ich sie visuell anklicke.

Es ist auch etwas einfacher, Klassen/Schnittstellen als der Lösungsexplorer hinzuzufügen, obwohl die neuen Dateien immer im Stammordner statt im selben Ordner wie die CD landen.

Der Hauptvorteil, den ich finde, ist in der Lage zu sein, eine Gruppe eng verwandter Klassen auf einmal zu sehen. Ich denke, der beste Ansatz wäre, eine einzelne CD für jeden Code-Ordner/Namespace zu haben.