Frage zu Schnittstellen (lose Kopplung)

Blagg Dogg

Mitglied
hi,

ich habe eine generelle frage zu schnittstellen: aus dem prinzip der losen kopplung geht ja hervor, dass man auf andere packages nur über schnittstellen, also interfaces, zugreift und gar keine konkreten klassen daraus kennt. aber wie setzt man dies um? man kann doch auf einem interface gar keine methoden aufrufen, sondern muss doch auch die klasse(n) kennen, die dieses interface implementieren.

hab ich ein denkfehler oder wie macht man das?

danke schonmal :)
 
M

maki

Gast
Denkfehler!

Du musst die Implemnetierung(en) nicht kennen, solange die Instanzen "woanders" (Factory, DI, etc. pp.) erzeugt werden.
 
S

SlaterB

Gast
evtl. wirds am Anfang einmal konkret, etwa mit der Wahl der Factory,
danach gibt es aber das charmante Spiel, dass ein Objekt A, übers Interface bekannt, ein neues Objekt B zurückgibt, auch wieder nur über Interface, usw.
 
T

TryToHelp

Gast
Entweder über eine Factory, also eine Klasse, die dir ein Objekt für das Interface zurück gibt, oder Frameworks die das für dich machen ;-)

Generell, bei der Erstellung, kennst du die spezielle Implementierung, aber ansonsten nimmst du nur das Interface.

z.B.

Java:
List myList=new ArrayList(); //hier bei der erstellung bekannt

public void doSomething(List myList){ //hier beim tuen ist die implementierung unbekannt
   //...
}
 
S

SlaterB

Gast
Hibernate kommt irgendwie mit einem SessionFactory-Objekt bei dir an, Interface SessionFactory,
damit kann man sich eine Session für DB-Zugriff erstellen, ein Interface,
die Session liefert bei Bedarf eine Transaction, falls du das kennst, ein Interface,
mit der Session kann man Query-Objekte für einzelne Datenbankabfragen erstellen, Interface,
Ergebnislisten sind naheliegend vom Typ List, Interface
usw.

JDBC ähnlich mit Connection, Statement, Transaction, ResultSet, ResultSetMetaData usw.


neben DB ist Web immer das andere große Thema, da macht jedes bessere Framework sicher auch sein eigenes Ding,
allgemein ist HttpServletRequest etwas spezieller als nur ServletRequest, aber auch ein Interface,
liefert die Session, den ApplicationContext, was immer man braucht

bei Swing mit Massen an Button, ComboBox und Co. wäre es eher lästig, noch lauter Interface zu definieren,
mit TableModel, ActionListener usw. kann man aber auch wieder per Interface umgehen
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C SOLID Single Responsibility Priciple Frage Softwareentwicklung 2
K Frage OOP Softwareentwicklung 8
dgtKotlin Frage zu Kotlin source code Softwareentwicklung 5
A Frage zu testdriven developement Softwareentwicklung 1
H Regex Frage Softwareentwicklung 2
D Frage Schichtenarchitektur Softwareentwicklung 3
T Frage bezüglich MVC Softwareentwicklung 1
Shams Frage wegen guava-Eventbus. Softwareentwicklung 0
H Frage zur Stanford NLP-API Softwareentwicklung 2
E Frage zu Dekorator-Pattern Softwareentwicklung 2
O Frage zu Regulärer Ausdruck Softwareentwicklung 3
H WEKA - Frage zu Methode in Evaluation Softwareentwicklung 2
S Frage zu Zusicherungen: Softwareentwicklung 12
D Frage zu String Algorithmen / String Metric Softwareentwicklung 7
Airwolf89 Theoretische Frage - In Java Java-Programme schreiben Softwareentwicklung 5
D Frage zur Objektorientierung mit Interfaces Softwareentwicklung 9
B Theoretische Informatik Frage zu Formalismus RegExp Softwareentwicklung 12
Wepster LGPL, MPL Frage Softwareentwicklung 3
D Frage zur Benutzeroberflächenprogrammierung Softwareentwicklung 8
D Frage zu Klassendiagramm und Konstruktor (UML) Softwareentwicklung 3
M [OOP] Frage zu Methode-Namen / Funktionsweise Softwareentwicklung 9
P Frage zu Processing Softwareentwicklung 9
S Regex Frage Softwareentwicklung 4
D Frage zu meiner Vorgehensweise in einem Projekt Softwareentwicklung 5
A Frage zu GPL Softwareentwicklung 3
K Frage zu UML Aktivitätsdiagramm Softwareentwicklung 3
J Frage zu Lizenzrechten Softwareentwicklung 5
B bash frage Softwareentwicklung 6
F allgemeine exe frage Softwareentwicklung 10
G Frage zur LGPL? Softwareentwicklung 5
0x7F800000 "Wozu ist denn CSS / CSS2 gut" Dumme Frage? Softwareentwicklung 9
G Frage zur UML Softwareentwicklung 2
B Ajax Frage Softwareentwicklung 2
J Frage zu Relation Softwareentwicklung 2
W Frage zu a)Innere Klassen und b)OO Design Softwareentwicklung 13
G MVC Frage Softwareentwicklung 4
P Frage zu Prolog! Softwareentwicklung 7
E Frage zu Excel und Filtern Softwareentwicklung 4
Y OpenGL/C Frage - externe Funktionen Softwareentwicklung 5
G C# Frage Softwareentwicklung 12
T SQL, Feld mehrmals abfragen, IN Frage Softwareentwicklung 3
C Grundsätzliche Frage zur OOP bzw. zum MVC Softwareentwicklung 5
RaoulDuke Frage zu Datenmodel / Zugriff Softwareentwicklung 5
J Frage zu C Softwareentwicklung 2
H Frage ueber Prototype Pattern? Softwareentwicklung 2
L Noch 'ne Perl-Frage. Kehre dann auch reumütig zu Java zurück Softwareentwicklung 10
S Design-Frage: Wie viele Fassaden? Softwareentwicklung 4
J Frage zu MVC, Swing, Gui Softwareentwicklung 3
L Frage zu Beziehungen zwischen Klassen und UML Softwareentwicklung 10
T Frage zu Mysql Softwareentwicklung 3
C Mysql-Frage(Problem mit nicht durchgeführten Zugriff) Softwareentwicklung 5
Tobse Begrifflichkeit: Software mit physikalischen Schnittstellen Softwareentwicklung 16
S Abstractes/Schnittstellen für Objekte Softwareentwicklung 8

Ähnliche Java Themen


Oben