Projekt API

  • Themenstarter Themenstarter MSSauer
  • Beginndatum Beginndatum
M

MSSauer

Hallo,

ich möchte folgenden Softwareaufbau in Java realisieren:

Ich habe verschiedene Java Projekte, welche alle eine gewisse Funktion übernehmen (z.B. Netzwerkzugriff). Jede dieser Java Klassen soll ein Interface haben, welches auch jeweils intern in dem Projekt implementiert ist. Nun würde ich gerne alle diese Projekte zu jars machen, welche dann nach außen (also zu den anderen Projekten bzw. jars) nur das Interface anbieten.

Ist diese Erklärung verständlich? Falls ja hat mir jemand eine Idee, wie ich das umsetzen kann?

Vielen Dank schon im Voraus.


Gruß
MSSauer
 
Hallo,

die Erklärung ist schon ein bisschen dürftig, doch ich glaube ich weiß was du sagen willst.

Eine .jar ist eine Klassensammlung. Sobald du eine Klasse in dieses einfügst, kannst du auch von "aussen" darauf zugreifen. In deinem Fall kann man somit nicht nur das Interface sehen, sondern alle anderen Klassen in dem .jar.

Gruß
BK
 
Hallo,

ich hab auch nicht so richtig verstanden, was du haben möchtest.
Aber wenn ich es richtig verstanden habe, wäre die einzige Möglichkeit das so zu lösen wie du möchtest OSGI. Bei einem OSGI-Bundle kann man explizit sagen, welche Schnittstellen nach außen bekannt sind und man damit verwenden kann.
Aber wie Bratkartoffel schon sagt, ist es mit normalen JARs nicht möglich.

Gruß

Sascha
 
Hi Bratkartoffel,

zunächst einmal vielen Dank für deine schnelle Antwort.

Kurz nochmal zu meinem Anliegen. Ich möchte meine Software so Aufbauen, dass ich zwischen unterschiedlichen Projekten definierte Schnittstellen habe. Z.B. habe ich ein Projekt, in welchem der Netztwerkzugriff implementiert ist. Dieses Projekt soll eine Schnittstelle anbieten

getData(String query);
uoploadData(String table, String values);

Weiterhin habe ich ein anderes Projekt, in welchem eine kleine GUI programmiert ist. Dieses Projekt hat eine Schnittstelle mit folgenden Funktionen:

printLogEntry(String text);
printData(Vector<String> data);

In einem weiteren Projekt möchte ich nun die Schnittstellen dieser beiden Projekte benutzen, d.h. Dieses Projekt holt sich dann zuerst Daten über das Netzzugriffprojekt und stellt diese dann mit den Funktionen welche die GUI anbietet visuell dar.

Gibt es in Java dann noch eine andere Methode, wie ich aus einem Projekt heraus eine defineierte Schnittstelle zu anderen Projekten anbieten kann?

Gruß

MSSauer
 
Zurück