Zurück   Flashforum > Flash > ActionScript > Softwarearchitektur und Entwurfsmuster

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-07-2007, 20:20   #1 (permalink)
Raven-Kid
 
Benutzerbild von [RK]
 
Registriert seit: Feb 2006
Beiträge: 350
MVC? Klassenaufteilung?

Hallo!

Wie baue mir einen kleinen Editor in dem ich Sachen zeichnen kann (zb. Linien ziehen) und sie als XML File abspeichert. Nun will ich das ganze aber nat. so aufbauen, das ich jederzeit einzelne Funktionen leicht erweitern kann und vorallem auch das Design des Editors schnell verändern kann.


Wie teile ich mir nun die Klassen auf?
Vorallem, wie bestimme ich in den Klassen wo welche Aktion ausgeführt wird ...


Ich habs im Moment so, das ich eine Klasse hab, die mir die einzelnen Menüfenster erstellt. (und sich an die Stage größe anpassen) Eine weitere Klasse zeichnet die Linien usw. in ein, durch eine Eigenschaft festgelegtes, MovieClip. In dieser Klasse werden sämtliche Linen usw. abgespeichert und eine andere Klasse kümmert sich dann darum die Daten in ein XML-File abzusichern.

Ist das ein brauchbarer Ansatz?
Wie mach ichs nun aber wenn ich zb. den Editor mit der Funktion erweitern will, das man zb. Rechtecke erstellen kann - oder schon erstellte Werke reinlädt usw. usw. Jede Editor-Funktion in eine eigene Klasse? Und einem Editor-Objekt alle möglichen Eigenschaften verpassen wie zb. in welchem MC die Sachen gezeichnet werden sollen ...


Ich hoffe ihr könnt mir da etwas helfen :/
Bin jedenfalls für jede Hilfe dankbar

Ich rätsel schon seit Ewigkeiten herum und komm einfach nicht zu einem guten Schluss. Gleich mal vorab: Ich hab im Grunde nicht viel Ahnung von Software-Architektur (wie man vll merkt :P).
[RK] ist offline   Mit Zitat antworten
Alt 12-07-2007, 15:55   #2 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Bremen
Beiträge: 13.359
Es hängt definitiv davon ab, was der Editor potenziell alles können soll. man kann ja einfach mal anfangen, die Grundfunktionalitätn zu identifizieren und danach die Klassen aufzubauen.

Ein Editor sollte Datenstrukturen verwalten können. Diese Datenstrukturen könnten in deinem Fall:
  • ein Netz von Koten sein (vectorbasierte Darstellung)
  • eine Bitmapfläche
  • eine Kombination aus beidem (mehrere Layer)
Daraus würde ich eine Klasse Canvas ableiten, eine Klasse Layer und von Layer 2 Klassen erben lassen: BitmapLayer und VectorLayer. Je nach Grundfunktionalität kann man auch ein Interface definieren.

Ausserdem brauchst du Klassen um die Datenstrukturen zu definieren. Eine NodeList sowie eine Klasse, um Beziehungen zwischen Nodes zu definieren (Knoten zu Knoten, Linienart (Linie, Kurve) und Linienstil). Das BitmapData bildet die Datensruktur für den BitmapLayer.

Für das user Interface würde ich ein LayoutManager, Panels und Buttons einführen.

Ausserdem musst du Werkzeuge einführen, um verschiedene Linien, Bitmaps etc zu erzeugen.

Und noch eine Klasse für den Im-/Export des Systems und du hast schon einen guten Grundstock an Funktionalitäten, die sich durch die Klassen-basierte Architektur ergeben.

Das ist so eine grobe Idee...
Omega Psi ist offline   Mit Zitat antworten
Alt 16-07-2007, 18:05   #3 (permalink)
Raven-Kid
 
Benutzerbild von [RK]
 
Registriert seit: Feb 2006
Beiträge: 350
Vielen dank für deine Antwort ... und sry das ich erst jetzt antworte!
Ich werd das gleich mal in den nächsten Tagen probieren
[RK] ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 00:43 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2014 Marc Thiele