| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| wau Registriert seit: Jan 2006 Ort: Hamburch
Beiträge: 404
| Ein Programm aufbauen
hi, wollt mal fragen, wie ihr so eine Anwendung aufbauen würdet? Ich will so ein Planetarium machen, wie hier und hab das soweit auf Funktion zusammengetüftel. ok, nachdem die Testversion soweit fertig ist, möcht ich das ganze etwas strukturierter aufbauen und auch(mach ich eigentlich fast nie) vll mal nach dem MVC Modell aufbauen. Wobei ich noch nicht weiss, wie wo was hinkommt? Die Anwendung sollt so aussehen: *) Es soll einen "View" geben, wo der Himmel gezeichnet wird, *) Es soll mehere Buttons geben, das man die Himmelsrichtung ändern kann, alternativ evtl. Slider? *) Es soll mehere "Panels" für diverse Einstellungen geben, die man ein und ausfaden kann (siehe Thread) *) Evtl. die Möglichkeit, per XML Ortsdaten einzulesen? Die zahlosen Astro-Rechungen hab ich in einem seperaten Unterordnern. Wie teil ich mir das Ganze nun auf, ich möchte es so machen, das möglichst kein Code in einem Keyframe steht, dh das ich alles dynamisch einbinden kann? Wenn ich das nach den MVC-Paradigma aufbaue, wo kommt was rein? Die Zahllosen Berechnung evt. "Model" oder "Controller"? Die Funktionen haben so namen wie "initStardata", "initHorizont" ect. die Funktioen zum Zeichen des Himmels dann "drawSky" "drawHorizont" ect.. danke für die Aufmerksamkeit(...*gähn, was für ein langweiliger Nachmittag)
__________________ Say no to Internet Explorer 6! |
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: Apr 2002 Ort: Vorm PC
Beiträge: 1.583
|
wenn du in flex proggen würdest, hat sich die sache wahrscheinlich erledigt. ich würde es so machen (da ich nichts über MVC weiss und auch nicht nachgucken möchte): Code: class myView extends Sprite {
//hier wird gezeichnet und vielleicht kann man breite und höhe auch verändern
public function draw():void
{}
public function loadXMLData():void
{
var loader:URLLoader = new URLLoader("http://www.myxml.de/data.xml");
loader.addEventListener(Event.COMPLETE, XMLHandler);
}
private function XMLHandler(event:Event):void
{
var loader:URLLoader = URLLoader(event.target);
//wandle loader.data in XML
draw();
}
}
//weiss nicht wie man in flash cs3 myView anzeigt, vllt mit addChild?
class myControl extends Sprite {
//erstelle buttons
public function myControl():void
{
var btnRotiereNachLinks:Button = new Button();
btnRotiereNachLinks.addEventListener(MouseEvent.CLICK, linksHandler);
addChild(btnRotiereNachLinks);
}
private function linksHandler():void
{
//spreche view an und zeichne mit parameter (nach links)
//ist "_root" richtig?
_root.view.draw(nachlinks_werte);
}
}
//bei Panels so ähnlich
//im Haupt-MC (_root?):
var view:myView = new myView();
//XML Daten laden, kann aber auch im Haupt-MC getan werden.
//draw wird automatisch ausgeführt sobald XML-Daten geladen werden, siehe Definition
view.loadXMLData();
//View anzeigen und ggf. positionieren, ist addChild richtig?
addChild(view);
//Control-buttons anzeigen und ggf. positionieren, ist addChild richtig?
var control:myControl = new myControl();
addChild(control); Naja so grob, ich habe zu wenig Zeit im Moment. Geändert von Gnut (13-10-2007 um 19:55 Uhr) |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Apr 2002 Ort: Vorm PC
Beiträge: 1.583
|
Ok, ich ging davon aus dass du in AS3 fitt wärest und du dein Script in Flash CS3 AS3 schreibest. Ich wollte nur versuchen zu beschreiben, dass ich den "View", die Steuerung und die Einstellungen in 3 Klassen unterteilen würde und diese in dem Hauptframe einbinde. Wie du die Einzelheiten hinbekommst, hängt von der Unterstützung anderer Forummitglieder ab. Ich arbeite nicht mit Flash CS3. |
| | |
| | #5 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.898
| Es gibt auf der einen Seite MVC und auf der anderen Seite drei (bzw. n) Schicht Architekturen. Ausserdem gibt es noch SOA Architekturen. Im Grunde genommen arbeite ich immer komponentenbasiert. Ich teile meine Applikationen konzeptionenell in Darstellung, Logik (incusive externen Services), interne und externe Datenhaltug ein (Persistanzschicht). MVC ist grundsätzlich ein guter Ansatz, reicht aber bei komplexen Architekturen nicht mehr aus. |
| | |
| | #6 (permalink) | |
| wau Registriert seit: Jan 2006 Ort: Hamburch
Beiträge: 404
| Zitat:
__________________ Say no to Internet Explorer 6! | |
| | |
| | #8 (permalink) |
| muh Registriert seit: Apr 2002 Ort: Freiburg
Beiträge: 4.350
|
Generell reicht es, wenn man sich vorstellt, wie es wäre, einen Teil der Anwendung, z.B. die View, austauschen wollte. Für diese Fälle muss man für klare Aufgabenteilung und sinnvolle Schnittstellen zwischen den Komponenten sorgen.
__________________ »Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!) |
| | |
| | #9 (permalink) |
| l2l|c4o Registriert seit: Nov 2005 Ort: düstere Grotte im Süden
Beiträge: 1.119
|
Ich beschäftige mich seit ca 1 Jahr mit RailsRemoting mit Flash , - das ist eigentlich ziemlich cool weil man ja das DatenModell viel schneller aufbauen kann in Rails als in Flash selber also fungiert Flash halt nur als view das wenn es von dem RailsModell ein update signal bekommt sich einfach updated. Crud in Minutenschnelle Sorry war ein wenig offtopic zur frage von Circushund aber ein Beitrag zu MVC andererseits wenn man sich zu allen Planeten im Universum auch noch eine Datenbank anlegen will wo geometrische Daten / Oberfläche / Mesh / etc hinterlegt sind dann würde sich der Einsatzt einer Datenbank anbieten wie sql , bei xml müßte man ja immer erst den ganzen Planetenbestand durchlesen wo man aber bei remoting sich einfach mit einem Flag/Id seinen Table hohlen kann ohne immer erst die ganze Datenbank durchlesen zu müßen . Geändert von Sir Freako (14-10-2007 um 21:21 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |