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

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-03-2003, 08:40   #1 (permalink)
ketten_karusell_
 
Benutzerbild von ge_flash
 
Registriert seit: Jan 2002
Ort: Duitsland geen Westen
Beiträge: 1.246
Agressive Aggregationen

Ich habe gerade einen Knick in meiner UML Optik

Kann mir mal kurz einer ein Beispiel posten wie ich in Flash eine
Aggregation Scripte ?

Vielen Dank
__________________
-----------------------------------------------
wichtige Befehle:
-format internet
-fdisk internet
ge_flash ist offline   Mit Zitat antworten
Alt 11-03-2003, 08:44   #2 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Aggregation bedeutet, dass du die
Klasse innerhalb einer anderen Klasse
benutzt. So könnte das aussehen:

ActionScript:
  1. function meineKlasse1(){
  2. }
  3.  
  4. function meineKlasse2(){
  5. }
  6.  
  7. function meineKlasse3(){
  8. }
  9.  
  10.  
  11. function AggregationKlasse(){
  12.       this.mk1 = new meineKlasse1();
  13.       this.mk2 = new meineKlasse2();
  14.       this.mk3 = new meineKlasse3();
  15. }
  16.  
  17. ak = new AggregationKlasse();

mfg r.
bokel ist offline   Mit Zitat antworten
Alt 11-03-2003, 08:48   #3 (permalink)
ketten_karusell_
 
Benutzerbild von ge_flash
 
Registriert seit: Jan 2002
Ort: Duitsland geen Westen
Beiträge: 1.246
Ah Danke Bokel.
Da bin ich wieder bei meinen Drei Klassen.
Irgend wann habe auch ich es Verstanden ...
__________________
-----------------------------------------------
wichtige Befehle:
-format internet
-fdisk internet
ge_flash ist offline   Mit Zitat antworten
Alt 11-03-2003, 12:05   #4 (permalink)
wolter.biz
 
Benutzerbild von wolter
 
Registriert seit: Jun 2001
Ort: Düsseldorf
Beiträge: 3.395
da komme ich dann auch gerade durcheinander. was ist denn da dann der unterschied zur assoziation?!

gruss,

sascha.
wolter ist offline   Mit Zitat antworten
Alt 11-03-2003, 12:16   #5 (permalink)
ketten_karusell_
 
Benutzerbild von ge_flash
 
Registriert seit: Jan 2002
Ort: Duitsland geen Westen
Beiträge: 1.246
Hier die Definition von Bernd Oestereich:


... Eine besondere Variante der Assoziation ist die Aggregation.Hiebei handelt es sich ebenfalls um eine Beziehung zwichen zwei Klassen, jedoch mit der Besonderheit, daß die Klassen zueinander in Beziehung stehen, wie ein ganzes zu seinen Teilen...
__________________
-----------------------------------------------
wichtige Befehle:
-format internet
-fdisk internet
ge_flash ist offline   Mit Zitat antworten
Alt 11-03-2003, 16:15   #6 (permalink)
hOk
Neuer User
 
Benutzerbild von hOk
 
Registriert seit: Jun 2001
Ort: berlin
Beiträge: 829
Assoziation -> Bekanntschaft
Aggregation -> Besitztum

Ein Kühlschrank aggregiert sein Kühlaggregat,
so merke ich mir das.

nette Grüße, Holger

Edit:
Warum aber Aggressive Aggregation, ist
das dann sowas wie Versklavung, oder wie?
__________________
gobogo

Geändert von hOk (11-03-2003 um 16:18 Uhr)
hOk ist offline   Mit Zitat antworten
Alt 11-03-2003, 16:18   #7 (permalink)
ketten_karusell_
 
Benutzerbild von ge_flash
 
Registriert seit: Jan 2002
Ort: Duitsland geen Westen
Beiträge: 1.246
Zitat:
Ein Kühlschrank aggregiert sein Kühlaggregat.

gENIAL
Das verstehe selbst ich.
__________________
-----------------------------------------------
wichtige Befehle:
-format internet
-fdisk internet
ge_flash ist offline   Mit Zitat antworten
Alt 11-03-2003, 16:31   #8 (permalink)
wolter.biz
 
Benutzerbild von wolter
 
Registriert seit: Jun 2001
Ort: Düsseldorf
Beiträge: 3.395
das ist eine schöne erklärung. muss ich mir merken .

gruss und danke,

sascha.
wolter ist offline   Mit Zitat antworten
Alt 11-03-2003, 16:33   #9 (permalink)
hOk
Neuer User
 
Benutzerbild von hOk
 
Registriert seit: Jun 2001
Ort: berlin
Beiträge: 829
Noch was zum Thema Aggregation,
Brandon Hall und Samual Wan, deren Buch
gerade lese, haben die Flair-Patter ent-
wickelt.
Dabei handelt es sich um eine doch recht
aggressive Aggregation, denn dem Kühl-
schrank wird, ein Aggregat regelrecht
aufgezwungen.
PHP-Code:
/*=========================================================
    TextField Underline Flair
    by Samuel Wan - 2002
===========================================================

SUMMARY: 
    Change all selected text to upper case.
 
PUBLIC METHODS:
    snapOn
    snapOff
    underlineSelection
    
PRIVATE METHODS:
    onMouseUp
==========================================================*/

//Make sure the parent class exists
if (_global.TextFlair == null)
{    
_global.TextFlair = new Object();    
}

// Define the enhancer object as an object of the TextFlair object 
// library, and create a shortcut variable "r" to reduce keyboard typing.
_global.TextFlair.UnderlineFlair = new Object();

// snapOn - add completion flair a textfield
//---------------------------------------------------------------
// txtObj: the textfield to enhance
r.snapOn = function(txtObj)
{    
// Create an enhancer object inside the textfield
    
txtObj.$underlineFlair = new Object();
    
txtObj.$underlineFlair.txtObj txtObj//self-reference to textfield

    //Add a listener from the inner object to the textfield
    
Mouse.addListener(txtObj.$underlineFlair);
    
    
// Link methods and event handlers from the inner object to this object
    
txtObj.$underlineFlair.onMouseUp this.onMouseUp;
    
txtObj.$underlineFlair.underlineSelection this.underlineSelection;

// snapOn

// snapOff - remove enhancements from textfield
//----------------------------------------------------------
// txtObj: the textfield to de-enhance
r.snapOff = function(txtObj)
{    
Mouse.removeListener(txtObj.$underlineFlair);
    
delete txtObj.$underlineFlair;
// snapOff

// onMouseUp - Capture mouse event in case selection was made.
//----------------------------------------------------------
r.onMouseUp = function()
{
    
// If currently focused on this textfield, a selection
    // might have been made
    
if(eval(Selection.getFocus()) == this.txtObj)
    {    
this.beginIndex Selection.getBeginIndex();
        
this.endIndex Selection.getEndIndex();
    }
}

// underlineSelection - Underline currently selected text
//----------------------------------------------------------
r.underlineSelection = function()
{
    
trace("underline selection");
    var 
tempTFO = new TextFormat();
    
tempTFO.underline true;
    
this.txtObj.setTextFormat(this.beginIndexthis.endIndextempTFO);
}
//=========== END OF FLAIR DEFINITION =============

TextFlair.UnderlineFlair.snapOn(editor_txt);

function 
editorUnderline()
{    
    
this.editor_txt.$underlineFlair.underlineSelection();

...editor_txt ist der Name des Textfeldes.

netten Gruß, Holger
__________________
gobogo
hOk ist offline   Mit Zitat antworten
Alt 11-03-2003, 16:46   #10 (permalink)
ketten_karusell_
 
Benutzerbild von ge_flash
 
Registriert seit: Jan 2002
Ort: Duitsland geen Westen
Beiträge: 1.246
Passe !

Zu Agressive !

@hok
Ist das Buch zu empfehlen für ein Vorschul UML'er (Also auch für Leute die in einer realen Welt leben ) ?
__________________
-----------------------------------------------
wichtige Befehle:
-format internet
-fdisk internet
ge_flash ist offline   Mit Zitat antworten
Alt 11-03-2003, 16:56   #11 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Oh ja Hok,
guter Vergleich.

@ge_flash
Ich empfehle dir Fowlers "Refactoring".
Danach bist du ein neuer Mensch

mfg r.
bokel ist offline   Mit Zitat antworten
Alt 11-03-2003, 17:05   #12 (permalink)
hOk
Neuer User
 
Benutzerbild von hOk
 
Registriert seit: Jun 2001
Ort: berlin
Beiträge: 829
Finde ich schon, ist halt für Anfänger der
objektorientierten Programmierung geschrieben.
Und bietet auch einen schönen Einstieg in die
faszinierende Welt der Pattern. Ganz im Gegen-
satz zum GangOfFour-Buch, was doch einiges
an OOP, Java und UML-Kenntnissen voraussetzt.
UML wird in dem Buch allerdings nicht behandelt.

grüße, Holger

PS.: Das Script da oben ist garnicht so schwierig,
mach dir mal ein Textfeld(editor_txt) mit Text drinnen.
Und einen Button der die Funktion editorUnderline
aufruft. Und schau dir mal die snapOn-Methode
und die snapOff-Methode an.
Kann aber auch sein das ich wieder zu viel verlange,
wie meine Kursteilnehmer mir auch immer sagen, aber
am Ende sind Sie dann doch überrascht was sie alles
gelernt haben...;-)
Angehängte Dateien
Dateityp: zip beispiel.zip (3,1 KB, 30x aufgerufen)
__________________
gobogo
hOk ist offline   Mit Zitat antworten
Alt 11-03-2003, 17:09   #13 (permalink)
hOk
Neuer User
 
Benutzerbild von hOk
 
Registriert seit: Jun 2001
Ort: berlin
Beiträge: 829
Ich war schon nach dem GoF ein
neuer Mensch, das Refactoring
habe ich noch nicht gelesen, ist
das ein ähnliches Standardwerk?

mfg, Holger
__________________
gobogo
hOk ist offline   Mit Zitat antworten
Alt 11-03-2003, 17:16   #14 (permalink)
ketten_karusell_
 
Benutzerbild von ge_flash
 
Registriert seit: Jan 2002
Ort: Duitsland geen Westen
Beiträge: 1.246
@hok

Ok dann bemühe ich mich nochmal nach Deiner Motivationsspritze

kurze Frage:
hat dass "$" in der Variabel eine Bedeutung oder ist dass nur ein Coding Standard.
__________________
-----------------------------------------------
wichtige Befehle:
-format internet
-fdisk internet
ge_flash ist offline   Mit Zitat antworten
Alt 11-03-2003, 17:28   #15 (permalink)
hOk
Neuer User
 
Benutzerbild von hOk
 
Registriert seit: Jun 2001
Ort: berlin
Beiträge: 829
Ist ein CodingStandard,
Brandon und Sam benennen
immer das Flair-Objekt mit einem
beginnenden Dollar.
Mit diesem Flair-Objekt wird
das Textfeld beglückt. So
dass das Textfeld das Flair-Objekt
als Aggregat trägt.

grüße, Holger
__________________
gobogo
hOk 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 12:53 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele