Flex-Architektur und Design Patterns

6

Verfasst am: 25-02-2009 | By: tshanky | In: RIA - Flex / AIR / PDF / Ajax

Viele meiner Leser und Kunden haben für die Beratung und Hilfe gebeten herumspricht Flex Anwendung Architektur Recht. In einigen Fällen sind diese in der Lage Entwickler kämpfen, um ihre ursprüngliche Lust Spielzeug in robusten Anwendungen morph.

Wenn Sie ernsthaft versuchte sich mit Flex, kann man wahrscheinlich mit ihnen mitfühlen. Wenn Sie jedoch noch nicht in Flex auf allen vertieft oder minimal blickte auf seine Oberfläche, sind Sie wahrscheinlich in Erstaunen betäubt und möglicherweise lächerlich die Disziplinlosigkeit und mangelndes Wissen über diese Entwickler. Interessanterweise ist jedoch die Unzulänglichkeit der Entwickler nicht allein und sind die Probleme nicht, weil der Rahmen ist schuppig. Seine nur, dass man sich in eine Ecke Code trotz Ihrer Kenntnisse in MXML und AS3 und dieses Problem ist nicht neu. Die Tatsache, dass: "Fließend sprechen in einer Sprache, und der Kern Rahmen! = Fließend Erstellen einer Anwendung effektiv mit it" ist auch in verschiedenen Sprachen eingerichtet. Wir haben alle ähnliche Probleme Oberfläche mit C + +, Java, gesehen. Net, PHP, Python, Perl, Ruby, JavaScript und so ziemlich jede andere in weitem Umfang verwendete Sprache.

Im Laufe der Jahre die Gemeinschaft der Software-Entwickler haben die Frage aufgeworfen, theoretisiert und diskutiert über die Ursachen von Fehlern, die aus fehlerhaften Anwendung Design und Architektur ungeeignet. Die Sichtweisen und Gedanken sind vielfältig (eine Illustration von denen über den Geltungsbereich dieser Stelle ist. Ich kann darüber in einem gesonderten Beitrag in Zukunft zu schreiben.) Und es gibt keinen Konsens über die richtige Lösung an. Es gibt jedoch einige Punkte der Vereinbarung und der universellen Anerkennung. Ein solches Thema der Vereinbarung, ist der Begriff der Hebelwirkung Design Patterns.

Design Patterns sind aus der Zeit der Disziplin der Software-Entwicklung war ein Kleinkind in den 70er Jahren, wenn es um ihren ursprünglichen Fehler zu vermeiden gelernt existierte. Damals allerdings wurden diese Muster nicht katalogisiert oder angepasst für spezifische Bereiche der Anwendbarkeit. Nun da die Disziplin in ein Teenager gegen Ende des ersten Jahrzehnts des 21. Jahrhunderts fällig sind Entwurfsmuster Eingabe der Standard-Wortschatz von einem durchschnittlichen Entwickler.

Also eine Flex / AIR-Entwickler können heute die viel lernen von der Theorie über die wesentlichen Entwurfsmuster von Gang of Four Buch oder stöbern Sie nützliche Haufen von Mustern für Enterprise Application Architecture . Darüber hinaus könnte er oder sie abholen eines der beiden Bücher Design Patterns, die sich auf AS3, nämlich:

Bewaffnet mit all dieses Wissen, eine Flex / AIR-Entwickler können diese hypothetisch erwerbstätig gelten für ein reales Projekt. Doch an diesem letzten Glied in der Kette der Geschichte oft Pausen. Die Entwickler sind mit Tonnen von offenen Fragen rund überlassen, wie genau das nutzen, um alle ihre Lernens im Kontext der Kern-Flex-Framework bietet.

Es ist nicht eine triviale Anstrengung, um Design Patterns in Verbindung mit dem bestehenden Rechtsrahmen Klassen Draht. Mit strukturellen Muster mit bestehenden Klasse heirarchies erfolgt nicht automatisch und Umsetzung Verhaltensmuster auf dem Standard-Flow ist nicht intuitiv. Darüber hinaus sind Sie am linken erraten, was man mit AS3 allein und was umgesetzt werden könnte auch Seil MXML in.

In dieser Phase einige Entwickler einfach aufgeben und einige andere Zuflucht unter einem der vorhandenen Aggregationen, besonders wenn es offiziell (gelesen zu haben scheint "Cairngorm"). Nun, "Aufgeben" kann dazu führen, Spaghetti-Code und "Zuflucht" blind kann man in einem Labyrinth obfuscated verlassen, besonders wenn man tief in die Veränderung Ihres Spielzeugs in eine ernsthafte Business-Anwendung.

Was ist dann eine Lösung für das Problem? Wie kann man sich Flex Anwendung Architektur Recht?

Zur Beantwortung dieser Fragen in einem Ausmaß, schrieb ich ein Kapitel betitelt: "Leveraging Architektur-und Design Patterns" in meinem Buch - Erweiterte Flex 3 . Das Kapitel weder alle Themen angesprochen habe es nicht umfassen Einzelheiten über die Durchführung dieser Muster in Flex. Er hat lediglich über das Thema zu einem sehr hohen Niveau. Selbst dann nicht, dass viele es ungemein nützlich. Going durch das positive Feedback und die folgenden Fragen von den Lesern, konnte ich vermute, dass der Durst um mehr über Flex Entwurfsmuster lernen, bleibt ungestillt.

Deshalb bin ich am 3. Zusammenhang noch verschiedene Initiativen, die Sie alle helfen könnte beginnen. Diese sind:

  • Gründliche Hands-on-Flex-Architektur von Mentoring-Sitzungen
  • Drei Kapitel statt einer auf Architektur und Design Patterns in Advanced Flex 4 (die nächste Version von Advanced Flex 3 )
  • Ein freies Buch - "Flex Design Patterns" - über alle Aspekte der Architektur-und Design-Patterns in Flex. Kapiteln, von denen werden zum Download zur Verfügung Recht, nachdem sie geschrieben wurden, wird

Darüber hinaus bin ich aktiv arbeiten immer Schamotte bereit für die Prime-Time. Ich hoffe, Schamotte Rahmen wird eine überzeugende und einzigartige Flex, wenn die Version 1.0 ist freigegeben.

Wenn Sie möchten, machen eine Menge lernen von und wollen gewinnen Immobilie Meisterschaft im wesentlichen 3 Tage, dann besuche mich in der Flex-Architektur BootCamp , von denen der erste New York kommt, um zwischen 23. März und 25. März 2009. Finden Sie heraus, Einzelheiten über diese Veranstaltung an der Flex Design Patterns Eventbrite Website .

Bei der Flex-Architektur BootCamp, werden Sie -

  • Erfahren Sie, wie Unternehmen bauen grade Flex-Anwendungen
  • Lernen zu nutzen, die gemeinsame Design Patterns in Flex und ActionScript 3 Anwendungen
  • Verstehen, was Cairngorm, PureMVC, Mate, Prana und Schamotte sind alle über
  • Learn to preempt Probleme im Gebäudekomplex Enterprise Grade Flex-Anwendungen beteiligt. Erstellen von Anwendungen, zuverlässige, skalierbare und performante von Anfang an.

Weitere Informationen online unter der Flex-Architektur BootCamp Eventbrite Website. In ein paar Tagen werde ich den Zeitplan für dieses BootCamp ankündigen zu anderen Städten, die Chicago, Atlanta, Dallas und Seattle gehören.

Wenn Sie sich für das Bootcamp in New York, nicht Gebrauch vergessen, ein $ 75 Rabatt mit shanky_org als den Rabatt-Code.

In Zukunft Beiträge, werden Sie von mir, wenn ich mit dem Schreiben beginnen Advanced Flex 4 (seine definitiv nicht geschehen, bis Flex 4 Beta ist aus und ich denke, dass ist nicht der Fall zu hören, bis Mai 2009).

Informationen über das kostenlose Buch - Flex Design Patterns - wird bald verfügbar sein. Ich bin versucht derzeit, ein Setup-Repository und eine Methodik, um den Brennvorgang zu verwalten. Ich bin daran interessiert, das DocBook-Format und kann die GitHub verwenden, um alle Inhalte und Code hosten. Wenn Sie irgendwelche Vorschläge oder Empfehlungen zu allen anderen Werkzeugen, dann bitte Klingel in.

Dass es für jetzt, aber Sie wissen sehr viel kommt, so stay tuned!

friendsofed.com Hosed!

5

Verfasst am: 22-02-2009 | By: tshanky | In: Meine Publikationen , RIA - Flex / AIR / PDF / Ajax

Leider friendsofed.com ist nicht verfügbar!

Wo man normalerweise sehen konnte Tonnen von Informationen über Bücher, die sie veröffentlichte, waren Code Downloads mit denen Bücher und mehr verbunden sind, steht eine Seite Werbung Domain-Erneuerung Dienstleistungen. Dies ist, was die Seite heute aussieht -

friendsofed.com Hosed!

friendsofed.com Hosed!

Ich aufmerksam gemacht worden war dieser eher peinliche Situation durch die Leser meines Buches Advanced Flex 3 . Die Website ist zurzeit heißt, sie können nicht fassen Sie den Code für die Beispiele in dem Buch nicht mehr. Achtung! dass es nicht gut.

Also schreibe ich an alle meine Leser auf Folgendes hinweisen:

  • Ich weiß nicht, warum die Seite nicht erreichbar ist, aber meine Vermutung ist, dass es betrifft einige administrative Goof-up. Wenn Sie lesen Seite der rechten oberen Ecke der aktuellen, sagt er - "friendsofed.com lief am 2009.02.15 und ist bis zur Erneuerung oder Löschung". Mach dir keine Sorgen Ich bin zuversichtlich, bald Normalität wiederhergestellt werden. Ich schickte eine Mail aus dem Verlag zu fragen, was passiert. Wenn ich wissen, warum dies geschehen ist, und wenn die Dinge wieder, dann werde ich diese Informationen mit Ihnen sicher zu teilen.
  • Ich habe ein Setup GitHub Repository für die Advanced Flex 3-Quellcode. Die URL für das Repository: http://github.com/tshanky/advancedflex3 . Seine jetzt leer, aber die Dinge sollten bald dort sein. In naher Zukunft werde ich die Koordination mit meinen Co-Autoren und Verlagen und versuchen, sich den gesamten Code dort oben. Dann wird nicht nur Sie haben einen anderen Ort, um den Code aus schnappen, aber es wäre auch für diesen Code kann sich noch weiterentwickeln.

Das war's für heute. Vielen Dank für Ihre Geduld.

Voranstellt Fx

3

Verfasst am: 14-02-2009 | By: tshanky | In: RIA - Flex / AIR / PDF / Ajax

Adobe Flex Team scheint geneigt, weg von klarem Design.

Flex-Framework die aktuelle stabile Version ist 3.x und dem Flex-Team bei Adobe arbeitet aktiv an der Version 4.x immer bereit, in diesem Jahr. Zu diesem Zeitpunkt ist der Kern des Flex SDK 4, Codename Gumbo, durch eine Open-Source-Prozess weiterentwickelt. Von guckend in seiner ursprünglichen Fassung, es sieht viel versprechend, da es ernsthafte Bemühungen um eine saubere Trennung von Darstellung und das Verhalten in den Komponenten, abgesehen von den Tonnen raffinierten Verbesserungen für die Rahmenbedingungen zu schaffen. (Ich verspreche, über einige der kommenden Features bald schreiben)

Allerdings scheint eine Design-Entscheidung in der Mitte von all dem Guten etwas seltsam und beunruhigend. Das Flex-Team schlägt Gumbo Komponente Namen mit den Buchstaben-Präfix "FX". Lets versuchen zu verstehen, was dies bedeutet.

In Flex 3.x und 2.x haben Sie eine Button-Komponente, die Ihnen den Zugang innerhalb einer Flex-Anwendung mit <mx:Button>. Hier wird der Name der Komponente Button und MX ist der Namensraum, innerhalb dessen diese Komponente befindet. Jetzt in 4.x haben Sie noch die Button-Komponente, aber es weicht majorly aus der Komponente mit dem gleichen Namen in der 3.x oder 2.x Version des Frameworks. Seine mögliche Entwickler mag beide Versionen gleichzeitig benutzen und das ist, wo es notwendig ist für die beiden Entitäten, also Tasten, (mit dem gleichen Namen), um deutlich zu kennzeichnen.

Einfach gesagt, wie wollen Sie sicherstellen, dass der Button zwei Versionen zusammenarbeiten, ohne dass Verwirrung in das Programm. Die Antwort auf diese Frage ist einfach und Zeit getestet: Legen Sie sie in verschiedene logische Eimer.

Diese Lösung, Dinge mit demselben Namen in verschiedenen Partitionen logisch scheint gut zu funktionieren in vielen Situationen. Dies ist, wie zwei Klassen mit demselben Namen sind differenziert - sie sind unter verschiedenen Paket Strukturen geschaffen. Zum Beispiel abcFoo und xyzFoo koexistieren können, soweit sie mit ihren voll qualifizierten Namen bezeichnet werden. Dies ist, wie XML-Elemente mit dem gleichen Namen, aber aus verschiedenen Schemata sind versöhnt. Dies ist, wie Variablen mit dem gleichen Namen aber mit unterschiedlicher Reichweite gelöst werden.

Allerdings scheint diese einfache Lösung für das Flex-Team Überlegungen zu entziehen. Sie glauben, logische Partitionierung (was übersetzt Namensräume im Fall von Flex-Komponenten durch ihre XML-Tags acessed) kann für den Anfänger verwirrend.

Common Sense Reasoning

Common Sense Reasoning

Also sie stattdessen vorschlagen, dass wir die Namen aller Komponenten whoes Namen Zusammenstoß mit bestehenden mit den Buchstaben-Präfix "FX". In anderen Worten, unser <mx:Button> in Flex 3.x oder 2.x, die durch die Art und Weise ist nun liebevoll genannte "Halo", in Flex 4, die auch als "Gumbo" genannt <FxButton> wird.

Wenn Sie dann verwenden, anstatt diese Namespaces gleichen Button in Gumbo wird <fx:Button> werden.

Folgt man den Vorschlag von Adobe wir landen kann mit so etwas wie dieses -

  • Halo - mx: Button
  • Gumbo - FxButton
  • Mumbo (oder was auch immer sie liebevoll nennen die nächste Version) - Wählen Sie Fx2Button oder FxFxButton oder MumboFxButton
  • Jumbo (möglicherweise die folgende evolutionären Version) - Fx3Button oder FxFxFxButton oder JumboFxButton

Möchten Sie nicht nur eine Taste rufen Sie eine Taste und die Namespaces entscheiden, ob ihre aus dem Halo, Gumbo, Mumbo Jumbo oder Clans?

Wenn Sie helfen möchten Adobe machen eine vernünftige Entscheidung zu Gunsten von Namespaces (dh mit fx: Button statt FxButton für jetzt), dann gehen Sie bitte weiter und Abstimmung für diesen Fehler auf der Flex JIRA .

FireStats icon Powered by FireStats