AppletTalk.com Forum Index AppletTalk.com
Java discussions newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

IOC Container!?

 
Post new topic   Reply to topic    AppletTalk.com Forum Index -> Java Language (German)
View previous topic :: View next topic  
Author Message
Olaf Eilers
Guest





PostPosted: Tue May 08, 2007 7:23 pm    Post subject: IOC Container!? Reply with quote



Hallo,

ich bin endlich angefangen umzustellen auf JAVA 5 (oder sind die schon
bei 6?) und überlege mir, ob ich mich auch in einen der IOC Container
einarbeiten soll. IOC scheint ja inzwischen gross in Mode zu sein, sogar
Google hat inzwischen einen herausgebracht. Allerdings ist mir immer
noch nicht der Sinn klar geworden.

Was sind eigentlich die Vorteile eines IOC Containers?
Bringt es mehr Übersichtlichkeit in den Code?
Hat man weniger Tipparbeit?
Ist der Code verständlicher?
Benutzt jemand solch einen IOC Container produktiv, wenn ja welchen?

Danke für eure Antworten.

Gruss,
Olaf

--
Meteorabsturz privat gefilmt. Wow.
http://www.lustitsch.com/meteor-sturzt-vom-himmel/
Back to top
Johann Burkard
Guest





PostPosted: Tue May 08, 2007 8:59 pm    Post subject: Re: IOC Container!? Reply with quote



Olaf Eilers wrote:
Quote:
Was sind eigentlich die Vorteile eines IOC Containers?

man kommuniziert mit den meisten Klassen über ihr Interface.

Quote:
Bringt es mehr Übersichtlichkeit in den Code?

Ja, weniger Instanziierungen.

Quote:
Hat man weniger Tipparbeit?

Ja, Abhängigkeiten werden i.A. automatisch eingefüllt.

Quote:
Ist der Code verständlicher?

Da es einfacher wird, nur gegen Interfaces zu programmieren, ja.

Quote:
Benutzt jemand solch einen IOC Container produktiv, wenn ja welchen?

Ja, PicoContainer und Spring. PicoContainer ist gerade so das Minimum,
reicht aber durchaus, wenns nur ein IoC-Container sein soll.

Johann
--
Das Kontinuum des Lichts wird in Lichtpartikel gebrochen. Denn
Licht ist die vollstaendige Manifestation der Energie, die aus der
Schwingung des Gedankens besteht.
(*Tönnes (immer noch auf LSD?) in <ck3a1i$boi$05$6 (AT) news (DOT) t-online.com>)
Back to top
Guest






PostPosted: Tue May 08, 2007 9:38 pm    Post subject: Re: IOC Container!? Reply with quote



On 8 Mai, 17:59, Johann Burkard <johannburk...@nexgo.de> wrote:
Quote:
Olaf Eilers wrote:
Was sind eigentlich die Vorteile eines IOC Containers?

man kommuniziert mit den meisten Klassen über ihr Interface.

In Eclipse in den anderen Code navigieren und im Interface landen.
Schönen Dank aber auch.

Quote:
Bringt es mehr Übersichtlichkeit in den Code?

Ja, weniger Instanziierungen.

'new' ist ganz schön unübersichtlich.

Quote:
Hat man weniger Tipparbeit?

Ja, Abhängigkeiten werden i.A. automatisch eingefüllt.

Schreibt auch jemand das XML automatisch ?
Wer validiert und testet das ?
Gibt es auch schöne kryptische Fehlermeldungen bei miss-Konfig ?

Quote:
Ist der Code verständlicher?

Da es einfacher wird, nur gegen Interfaces zu programmieren, ja.

Was ist daran einfacher als gegen konkrete Klassen ?

Quote:
Benutzt jemand solch einen IOC Container produktiv, wenn ja welchen?

Ja, PicoContainer und Spring. PicoContainer ist gerade so das Minimum,
reicht aber durchaus, wenns nur ein IoC-Container sein soll.

Johann

Man wird animiert den Code loser zu koppeln, damit man ihn besser
testen kann.
Das geht aber auch ohne Container.

Meistens bieten die auch noch Log und Trace an den Einschleusstellen.
Man kann aber so was aber auch selbst einbauen.

Bestimmte Services wie Persistenz lassen sich einschleusen.
Aber eine Mock-Persistenzschicht anstatt einer echten
Persistenzschicht
kann man auch in eigenen Test-Klasen in die Fachklassen einstöpseln.

--
Heiner
www.heinerkuecker.de
Back to top
Steffen Ramlow
Guest





PostPosted: Wed May 09, 2007 12:11 am    Post subject: Re: IOC Container!? Reply with quote

mail (AT) heinerkuecker (DOT) de wrote:

Quote:
In Eclipse in den anderen Code navigieren und im Interface landen.
Schönen Dank aber auch.

Jede Medaille hat halt zwei Seiten. Die Vorteile der Entkopplung durch
Interfaces überwiegen m.E. aber deutlich. Und spätestens wenn es mehr als
eine Implementierung gibt (du hast ja selbst die Mock-Schicht angeführt),
kommt man nicht dran vorbei.

Quote:
'new' ist ganz schön unübersichtlich.

I.d.R. bleibt es ja nicht bei einem simplen new. Die Initialisierung kann
sehr aufwändig sein.

Quote:
Schreibt auch jemand das XML automatisch ?

Vieles erledigen die Frameworks über Konventionen, sodass man im XML
nichts/weniger schreiben muss.
Alternativ Annotationen oder IDE-gestützte XML-Editoren, inkl. CodeComplete.

Quote:
Wer validiert und testet das ?
Gibt es auch schöne kryptische Fehlermeldungen bei miss-Konfig ?

Spring ist hier extrem vorbildlich. Hier ist es oft so: Exception Foo
occurred. Bar correctly set?

Quote:
Da es einfacher wird, nur gegen Interfaces zu programmieren, ja.

Was ist daran einfacher als gegen konkrete Klassen ?

Interfaces zeigen dir nur das, was das Domänenmodell nötig macht und
belästigen dich nicht mit öffentlichen Settern/Gettern/Konstruktoren/etc.

Quote:
Benutzt jemand solch einen IOC Container produktiv, wenn ja welchen?


Ich nur Spring.

Quote:
Man wird animiert den Code loser zu koppeln, damit man ihn besser
testen kann.
Das geht aber auch ohne Container.

Klar, aber dann baust du dir dein eigenes DI/IOC-Framework. Wozu?

Quote:

Meistens bieten die auch noch Log und Trace an den Einschleusstellen.
Man kann aber so was aber auch selbst einbauen.

Dito.

Ich nutze lieber AOP, als mir selbst was aus den Rippen zu schneiden.


Ferner sollte man mal anmerken, dass es ja i.A., zumindest bei Spring, nicht
beim DI/IOC bleibt. Da kommen noch viele andere Vorteile hinzu.

--
Turbine from hell
http://www.youtube.com/watch?v=HKOivVnoC3Y
Back to top
Stefan Matthias Aust
Guest





PostPosted: Wed May 09, 2007 7:13 am    Post subject: Re: IOC Container!? Reply with quote

Olaf Eilers schrieb:

Quote:
ich bin endlich angefangen umzustellen auf JAVA 5 (oder sind die schon
bei 6?)

Bei 6. Überspringe Java 5, wenn du nicht auf Mac-Support angewiesen
bist. Apple ist leider nicht in der Lage, mit der wirklich nichit
schnellen Entwicklung von Sun mitzuhalten und hat immer noch kein Java 6
herausgegeben.

Quote:
und überlege mir, ob ich mich auch in einen der IOC Container
einarbeiten soll. IOC scheint ja inzwischen gross in Mode zu sein, sogar
Google hat inzwischen einen herausgebracht. Allerdings ist mir immer
noch nicht der Sinn klar geworden.

Kennst du http://www.martinfowler.com/articles/injection.html ?

Quote:
Was sind eigentlich die Vorteile eines IOC Containers?

Entkopplung der Programmteile und bessere Testbarkeit.

Quote:
Bringt es mehr Übersichtlichkeit in den Code?

Wenn man schafft, kleine unabhängige Teile zu erzeugen, IMHO schon.

Quote:
Hat man weniger Tipparbeit?

Nein (jedenfalls nicht bei Spring, für Guice kann ich's nicht sagen)

Quote:
Ist der Code verständlicher?

Ohne IDE, die z.B. Spring genug versteht, um dir zu sagen, was so
benutzt wird, wird es IMHO schwerer, das "Big Picture" zu sehen. Dafür
haben kleine, eigenständige, testbare Klassen auch einen Vorteil.

Quote:
Benutzt jemand solch einen IOC Container produktiv, wenn ja welchen?

Ich: Spring.

--
Stefan Matthias Aust
Back to top
Raffael Herzog
Guest





PostPosted: Thu May 10, 2007 6:40 am    Post subject: Re: IOC Container!? Reply with quote

Patrick Hess schrieb:

Quote:
Raffael Herzog wrote:

HiveMind mit einem Aufsatz. HiveMind ist IMHO mit Abstand der beste
IoC-/DI-Container. Ich habe noch einen Aufsatz darauf gebaut, der es
ermöglicht, wirklich "Plugin-Orientiert" zu programmieren (jedes
Plugin ist ein eigenes kleines VFS, kann also weitere Resourcen
mitbringen, die von anderen Plugins auch gescannt werden können) und
eine vernünftiges ClassLoader-Konzept hinzufügt, das ein wenig an
OSGi erinnert, und noch einige andere Dinge.

Hört sich sehr interessant an, hast Du das veröffentlicht oder planst
Du das?! Smile

Ja, das ist öffentlich. Ich muss euch jedoch warnen: Dokumentation ==
Null.

HiveApp (den eigentlichen Aufsatz, den ich erwähnt habe) findet man
hier:
https//scm.ops4j.org/repos/ops4j/laboratory/users/raffael/hiveapp/trunk/hiveapp

Um das Build-Problem zu lösen, gibt's das hier:
https://scm.ops4j.org/repos/ops4j/laboratory/users/raffael/hiveapp/trunk/hiveapp-maven

Wenn ich auch HiveApp inzwischen auch für andere Dinge benutze, es gibt
einen einzigen klaren Grund, warum ich das überhaupt gebaut habe:
https://scm.ops4j.org/repos/ops4j/laboratory/users/raffael/Loom/trunk

Zur Erklärung des letzten Links:
http://lists.ops4j.org/pipermail/general/2007q2/001864.html

In dieser Mail bereits erwähnt, aber dennoch herauszustreichen:
http://lists.ops4j.org/pipermail/general/2007q2/001587.html

Um sich den Mist mal anzusehen (leider noch ohne Garantie, dass es "from
Scratch" läuft):
http://lists.ops4j.org/pipermail/general/2007q2/001909.html

Ach ja, eine Wiki-Seite dazu gibt's auch noch, wenn die auch nicht mehr
ganz aktuell ist:
http://wiki.ops4j.org/confluence/display/ops4j/Loom

Gruss,
Raffi

--
Come to think of it, there are already a million monkeys on a million
typewriters, and Usenet is *nothing* like Shakespeare!

herzog (AT) raffael (DOT) ch · PGP Key 5D1FF5F4 · http://www.raffael.ch/
Back to top
Johann Burkard
Guest





PostPosted: Thu May 10, 2007 9:04 pm    Post subject: Re: IOC Container!? Reply with quote

mail (AT) heinerkuecker (DOT) de wrote:
Quote:
On 8 Mai, 17:59, Johann Burkard <johannburk...@nexgo.de> wrote:
man kommuniziert mit den meisten Klassen über ihr Interface.

In Eclipse in den anderen Code navigieren und im Interface landen.
Schönen Dank aber auch.

Deine Tastatur hat keine F4-Taste?

Quote:
Ja, weniger Instanziierungen.

'new' ist ganz schön unübersichtlich.

New nicht, aber, wo man es überall in welchem Kontext ausführt.

Quote:
Ja, Abhängigkeiten werden i.A. automatisch eingefüllt.

Schreibt auch jemand das XML automatisch ?

Wer redet von XML?

Quote:
Wer validiert und testet das ?

Dein IoC-Container spätestens beim Starten.

Quote:
Gibt es auch schöne kryptische Fehlermeldungen bei miss-Konfig ?

Das hängt von der Konfiguration deines IoC-Containers ab.

Quote:
Da es einfacher wird, nur gegen Interfaces zu programmieren, ja.

Was ist daran einfacher als gegen konkrete Klassen ?

Du lernst, dich auf das im Interface beschriebene Verhalten zu verlassen.

Du kannst Interfaces schreiben, die sie auf das Wesentliche
konzentrieren und Sachen wie Konfiguration in Klassen verstecken.

Johann
--
Ich untersage Dir hiermit, mich in Deinen Postings zu zitieren. Sei es
als Signatur oder sonstwas. Es unterbleibt. Punkt.
(Detlef Bosau in <news:f1so3t$15d9$1@geiz-ist-geil.priv.at>)
Back to top
Display posts from previous:   
Post new topic   Reply to topic    AppletTalk.com Forum Index -> Java Language (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.