[ascoders] Re: AW: Re: AW: Interfaces & implements

  • From: Kiko <kiko@xxxxxxxxxxxxx>
  • To: Ralf Siegel <ascoders@xxxxxxxxxxxxx>
  • Date: Mon, 14 Jul 2003 15:25:27 +0200

Hallo Ralf,

Montag, 14. Juli 2003, 14:57:41, schriebst du:


>>ein ordentlich gestricktes interface lässt sich doch wie components
>>handhaben,oder?

> Aus Sicht der Wiederverwendbarkeit auf jeden Fall. Aber im Gegensatz zu 
> einer Komponente macht ein Interface im Prinzip gar nichts, es sagt dir 
> nur, was zu tun ist :o)
> Beispiel Steckdose: Die Schnittstelle definiert 220V und zwei Löcher.
> Stecker und Steckdose sind die Komponenten. Oder so.

Was aber nicht nur die Wiederverwendbarkeit steigert; Ich finde dabei
einen anderen Aspekt viel interessanter:

Nehmen wir mal das Model-View-Controller-Modell an. Eine Komponente,
das Model, beinhaltet die Datenstrukturen, eine weitere, der
Controller, alle Funktionen, die auf die Daten angewandt werden können
und eine dritte, der View, übernimmt ausschliesslich die Darstellung.

    Model <-- <interface> --> Controller <-- <interface> --> View

Hier haben wir also zwei Schnittstellen - im Idealfall. Denn dann kann
jede Komponente für sich ausgetauscht werden; Um ein ganz einfaches
Beispiel zu bemühen, ein Gästebuch. Das Model reicht standardisierte
XML-Informationen weiter. Dabei ist es unwichtig, ob diese aus einer
mySQL-, einer Oracle-DB oder einer einfachen Textdatei kommen, in der
Verantwortung, das Interface "einzuhalten" ist der Programmierer des
Models respektive der Middleware-Schicht um das Interface herum. Das
heisst aber auch, dass die Datenbank völlig transparent die
Applikation ausgetauscht werden kann, und das quasi über Nacht, sobald
ein neues Backend für dieses Interface existiert.

Dasselbe gilt natürlich offensichtlich für den View, solange die
Interface-Methoden geklärt sind kann man die Gästebucheinträge in
jeder beliebigen Form darstellen, als progressives
Flashknubbel3Dee-Frontend oder als Textwurst oder man kann es als
HTML-Datei rauslassen, als Mail verschicken, per Screenreader vorlesen
lassen  etc..Die wichtige Frage, wer wann wie auf was zugreifen kann
ist ja durch das/die Interface(s) geklärt und vereinbart.

Jeder Teil kann also unabhängig von den anderen "entnommen" und
ausgetauscht werden; Die existierende Schnittstellendefinition
ermöglicht es, bereits im Vorfeld zu entwickeln und schlicht und
einfach gegen die Schnittstelle zu debuggen. Wichtig ist nämlich nur
noch was da rein- und rauskommt...

Das Ganze kann ich nun natürlich auch innerhalb von Flash verwenden,
indem hier solche "Vereinbarungen" getroffen werden - ich
glaube das ist wie bei JavaBeans?!

meine 0,2cent

liebe Grüsse,
 Kiko

-- 
cause nonsense is better than no sense at all...
christoph starkmann
phone:0179-1162652
mailto:kiko@xxxxxxxxxxxxx
http://www.gruppe-69.com
-- 

------------------------------------------------------
Archiv   : //www.freelists.org/archives/ascoders/
Optionen : //www.freelists.org/list/ascoders
------------------------------------------------------

Other related posts: