Samstag, 14. Mai 2016

Interface Implementierungen

Bei der Bearbeitung der aktuellen Entwurfsphase kam die Frage auf, ob wir für alle Interfaces noch implementierende Klassen modellieren müssen, um diese ansprechen zu können? Dieses Vorgehen würde dem Konzept der Interfaces in Java entsprechen.

 
Die kurze Antwort lautet: nein.
 
Die Projektbeschreibung gibt Komponenten vor, die bestimmte Schnittstellen (Interfaces) anbieten, über die die Funktionalität der Komponente angesprochen werden kann. Dabei handelt es sich um UML und nicht um Java-Schnittstellen. Die Komponente, die diese Schnittstelle umsetzt ist als Black-Box modelliert, die diese Funktionalität bereitstellt. Als Nutzer der Komponente muss man sich keine weiteren Gedanken über die Realisierung machen. 
 
Aber: Die Komponenten bieten nicht nur Schnittstellen an, manche benötigen auch eine Instanz, die eine Schnittstelle realisiert. Hier muss eine andere Komponente diese Schnittstelle bereitstellen und dann ist tatsächlich in der internen Repräsentation der anderen Komponente eine Klasse erforderlich, die diese Realisierung vornimmt (z.B. eine Realisierung für IHospitalInputHandler für die Hospital-Komponente).

Keine Kommentare:

Kommentar veröffentlichen