Aufgabe: Schnittstelle und Proxy implementieren

Derya

Mitglied
Hallo alle zusammen,

ich bin gerade dabei eine alte Prüfungsaufgabe zu lösen und habe Schwierigkeiten,
vielleicht kann mir einer behilflich sein.

Gegeben ist:

Java:
public interface INotenliste{
public void addNote(int matrikelNr, float note);
public String printNotenliste(); // sortiert nach MatrikelNr
public String statistik(); //sortiert nach Note}
public int size(); 

public interface ITransaction{

public void commit(); //bestätigt eine Transaktion
public void rollback(); // setzt die Welt auf den Zustand zu Beginn der laufenden Transaktion zurück

Aufgabenstellung ist:
a) Klasse Notenliste und beide Schnittstellen implementieren
b) Proxy für Notenliste => Delegiert Aufrufe an Notenliste und protokolliert jeden Aufruf von commit und rollback
c) Proxy implementieren und auf konkrete Implementierung des Konstruktors achten
d) Junit die Notenliste anlege und über Proxy Note eingeben und commit über Proxy einführen

Soweit konnte ich die Aufgabe lösen:

Java:
public class Notenliste implements INotenliste, ITransaction {
	
	private Map<Integer,Float>notenliste;
	
	public Notenliste(){
		notenliste=new TreeMap<Integer,Float>(); 
	}
	
	public void addNote(int matrikelNr, float note){
		notenliste.put(matrikelNr, note); 
	}
	
	public String printNotenliste(){
		
		StringBuffer buf = new StringBuffer("MatrikelNr\tNote"); 
		for(Entry<Integer,Float>e : notenliste.entrySet()){
			buf.append("\n" + e.getKey()+ "\t\t" + e.getValue()); 
		}
		return buf.toString(); 
	}
	
	
	public String statistik(){
		Map<Float,Integer>statistik = new TreeMap<Float,Integer>(); 
		List<Float>anzahl = new ArrayList<Float>(); 
		for(Entry<Integer,Float> e: notenliste.entrySet()){
			float key = e.getValue(); 
			if(notenliste.containsValue(key)== true){
				anzahl.add( key); 
				int i = Collections.frequency(anzahl, key); 
				statistik.put(key,i); 
			}
		}
		
		StringBuffer buf = new StringBuffer("Note\tAnzahl"); 
		for(Entry<Float,Integer> e : statistik.entrySet()){
			buf.append("\n" + e.getKey() + "\t " + e.getValue()); }
		return buf.toString(); 
		}
		
	
	public int size(){
		return notenliste.size(); 
	}

Ich versteh leider überhaupt nicht, was die Schnittstelle ITransaction macht und wie ich die beiden Methoden implementieren kann.

Und den Rest der Aufgaben, mit dem Proxy ist mir ein Rätsel. Das einzige was ich über Proxy weiß, ist dass es ein "Platzhalter" ist, der Daten vom Client zum Original über zwei Schnittstellen mit identischen Methoden schickt. Ich hab nicht die leiseste Ahnung, wie ich das Problem lösen kann.

Hat irgendjemand eine Idee?

Danke und VG
Derya
 
S

SlaterB

Gast
hinsichtlich der Transaktion eine erstaunlich schwierige Aufgabe,
ist dir Transaktion aus Datenbank ein Begriff?
es steht ja auch im Kommentar 'setzt die Welt auf den Zustand zu Beginn der laufenden Transaktion zurück'

da INotenliste keine remove-Methode hat kann ich mir das schwer vorstellen, vielleicht sollten erst alle neuen Einträge separat gespeichert und genau beim Commit übergeben werden, (*)

Proxy hast du ja erkannt, der Aufrufer verwendet es genau so wie das richtige Notenliste-Objekt,
da der Proxy drankommt dann unsichtbar die Transaktion beteiligt werden, der Aufrufer muss das gar nicht wissen

wobei "Delegiert Aufrufe an Notenliste und protokolliert jeden Aufruf von commit und rollback" schon wieder komisch klingt,
der Aufrufer soll wohl doch die Transaktion kennen, wenn schon nicht beginnen (automatisch), dann zumindest beenden,

gibt dann der Proxy das Transaktionsobjekt zurück oder hat er commit() und rollback() auch noch als Methoden?
da ist schon einiges im Ablauf unklar, besonders wie gesagt wie die Transaktion tatsächlich arbeiten soll,

ich denke die Möglichkeiten sind klar, bisschen programmieren musst du schon, oder es sein lassen
(oder genauere Fragen stellen),
vielleicht tröstet es dich aber dass ich das inhaltlich für eine ungewöhnlich unklare Aufgabe halten
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Objekt Array Aufgabe mit Busdatenbank Allgemeine Java-Themen 2
O Test schreiben mit Äquivalenzklassen (Aufgabe Prüfung) Allgemeine Java-Themen 9
OnDemand Erstellen von Quartz Jobs pro Aufgabe oder zusammenfassen Allgemeine Java-Themen 7
M Bräuchte Hilfe bei der Aufgabe Allgemeine Java-Themen 1
parrot Array Aufgabe Allgemeine Java-Themen 3
parrot Rekursion Aufgabe Allgemeine Java-Themen 12
S Aufgabe erwünscht Allgemeine Java-Themen 7
R Statistische Methoden (Mathematik) Aufgabe Allgemeine Java-Themen 9
M Polymorphie Aufgabe Allgemeine Java-Themen 15
H Stack mit bestimmter Aufgabe Allgemeine Java-Themen 62
E Java Aufgabe WaWi01 Allgemeine Java-Themen 7
D Methoden Java-Aufgabe Allgemeine Java-Themen 2
R Java-Code für folgene Aufgabe? Allgemeine Java-Themen 8
G Methoden BMI -Wert Aufgabe(Methoden) Allgemeine Java-Themen 4
G Erste Schritte Aufgabe - Geht das auch schneller ? Allgemeine Java-Themen 7
R Was los mit dieser Aufgabe? Arrays mit Schachbrettmustern? Allgemeine Java-Themen 10
vandread Kleine Generics Aufgabe aus einer Prüfung... wie ist das gemeint? Allgemeine Java-Themen 6
D BlueJ - Aufgabe 12 namens Traktor Allgemeine Java-Themen 7
D OOP Mustererkennungs Aufgabe Allgemeine Java-Themen 9
pg1337 Firmen-aufgabe Allgemeine Java-Themen 10
B Konkrete Aufgabe Allgemeine Java-Themen 9
S Textverständnis einer Aufgabe Allgemeine Java-Themen 2
F Frage zu Aufgabe Allgemeine Java-Themen 5
P Java-Security-Aufgabe gesucht Allgemeine Java-Themen 2
M Brauche einen Tipp, bei einer Aufgabe ! Allgemeine Java-Themen 3
I Aufgabe: Aufwandsabschätzung Allgemeine Java-Themen 7
V Funktionale Schnittstelle in Java Allgemeine Java-Themen 3
Tarrew OpenAPI Schnittstelle - Mehrere Kunden mit unterschiedlichen Zugriffsrechten Allgemeine Java-Themen 2
B Schnittstelle zwischen MySQL und Apache Allgemeine Java-Themen 8
J Daten über serielle Schnittstelle empfangen Allgemeine Java-Themen 4
Meeresgott Best Practice Mini REST-Schnittstelle Allgemeine Java-Themen 4
Q Selbständig ActionEvent auslösen zum Daten senden über serielle Schnittstelle Allgemeine Java-Themen 7
stroggi Serielle Schnittstelle (jssc) - Flush benötigt? Allgemeine Java-Themen 2
P Schnittstelle java Programm zu Webserver / Browser Allgemeine Java-Themen 2
T Input und Outputstream , serielle Schnittstelle Allgemeine Java-Themen 1
M Schnittstelle Datanorm Allgemeine Java-Themen 2
H Daten via COM Schnittstelle erhalten Allgemeine Java-Themen 2
I Java - perfekte Schnittstelle für Hacker? Allgemeine Java-Themen 8
M Java-Pawn Schnittstelle ? Allgemeine Java-Themen 0
S Threads Serielle Schnittstelle mit Listener / Aufrufendes GUI Allgemeine Java-Themen 4
L COM Schnittstelle in Java programmieren Allgemeine Java-Themen 4
T Schnittstelle zu Bash?! Allgemeine Java-Themen 2
H Interface Generische Schnittstelle (rekusiv) Allgemeine Java-Themen 2
M Serielle Schnittstelle ansteuern - mit Processing Bibliothek Allgemeine Java-Themen 4
B Schnittstelle von Facebook zu Java(Eclipse) für meine Internetseite Allgemeine Java-Themen 20
U Realisierung einer "Plugin-Schnittstelle": Allgemeine Java-Themen 12
I Serielle Schnittstelle Allgemeine Java-Themen 5
A Input/Output Applet-Zugriff auf PHP-Schnittstelle (externer Server) Allgemeine Java-Themen 22
M Schnittstelle für durchgereichte Interaktionen in Komponentenhierarchie? Allgemeine Java-Themen 3
P Auslesen serieller Schnittstelle - umwandeln von byteArray Allgemeine Java-Themen 3
N Serielle Schnittstelle / COM-Port auslesen und die empfangenen Daten verarbeiten Allgemeine Java-Themen 1
O Zugriff auf Serielle Schnittstelle - Keine Ports gefunden. Allgemeine Java-Themen 8
S Problem mit serieller Schnittstelle Allgemeine Java-Themen 10
M Zugriff auf Parallel-Schnittstelle Allgemeine Java-Themen 2
P Schnittstelle über Webservice SOAP Allgemeine Java-Themen 11
MQue Schnittstelle programmieren Allgemeine Java-Themen 2
H lpt1 schnittstelle Allgemeine Java-Themen 6
M Schnittstelle java.util.Set Allgemeine Java-Themen 9
G Kommunikation mit der seriellen Schnittstelle Allgemeine Java-Themen 6
G serielle Schnittstelle einlesen Allgemeine Java-Themen 13
M Paralle Schnittstelle ansprechen Allgemeine Java-Themen 2
P TCPIP Schnittstelle Allgemeine Java-Themen 2
D Datenübertragung über serielle Schnittstelle Allgemeine Java-Themen 4
D Daten aus einer Seriellen Schnittstelle empfangen Allgemeine Java-Themen 22
G Problemme mit serielle Schnittstelle Allgemeine Java-Themen 9
MQue serielle Schnittstelle Allgemeine Java-Themen 2
E serielle Schnittstelle Allgemeine Java-Themen 6
N Serielle Schnittstelle ansprechen Allgemeine Java-Themen 9
D HTML Schnittstelle Allgemeine Java-Themen 4
J serielle Schnittstelle unter Linux Allgemeine Java-Themen 3
T parallele Schnittstelle auslesen Allgemeine Java-Themen 5
S Problem mit Ansteuerung von serieller Schnittstelle Allgemeine Java-Themen 7
Q Schnittstelle/Abstrakte Klasse schreibt Annotation vor? Allgemeine Java-Themen 4
W Zugriff auf lokale serielle Schnittstelle via Applet Allgemeine Java-Themen 3
T Java Schnittstelle Active Directory Allgemeine Java-Themen 5
Q Typecast zwischen Klassen mit implementierter Schnittstelle Allgemeine Java-Themen 4
M RS232 Schnittstelle ansteuern (Floppy durch Laptop ersetzen) Allgemeine Java-Themen 2
Z java->schnittstelle->excel Allgemeine Java-Themen 2
V gezielte Datenbankeinträge über JDBC schnittstelle Allgemeine Java-Themen 10
A Serielle Schnittstelle | Barcodescan | ohne Tastatur Allgemeine Java-Themen 11
H javax.comm und Parallele Schnittstelle (PIN für PIN) Allgemeine Java-Themen 7
X Java Schnittstelle zu AIML Allgemeine Java-Themen 2
S String an COM-Schnittstelle senden Allgemeine Java-Themen 6
D Schnittstelle zwischen zwei Klassen? Allgemeine Java-Themen 2
J PS/2-Schnittstelle ansprechen Allgemeine Java-Themen 7
Y Zugriff auf Com-Schnittstelle Allgemeine Java-Themen 5
S Abhören der com-Schnittstelle Allgemeine Java-Themen 3
H Zugriff auf parallele Schnittstelle Allgemeine Java-Themen 4
G Zugriff auf serielle Schnittstelle mit Java 1.5.0 Allgemeine Java-Themen 11
C Implementieren einer Schnittstelle (Interface), Ausnahmen Allgemeine Java-Themen 7
J serielle schnittstelle unter linux Allgemeine Java-Themen 3
N Java Dynamic Proxy Allgemeine Java-Themen 3
M Apache Proxy Weiterleitung auf Tomcat funktioniert nicht wie gewünscht Allgemeine Java-Themen 1
E RMI NULL-Pointer-Exeception wenn der RMI-Proxy eine Methode deligiert Allgemeine Java-Themen 2
C php-Website mit Proxy aufrufen Allgemeine Java-Themen 6
P Java https proxy (-Dhttps.proxyHost) Start-Parameter funktioniert nicht? Allgemeine Java-Themen 2
C VisualVM oder Jconsole über Jolokia-Proxy Allgemeine Java-Themen 0
P Java Virtual Proxy Allgemeine Java-Themen 1
Tarrew RMI Java RMI - com.sun.proxy.$Proxy1 cannot be cast to Funktionen Allgemeine Java-Themen 0
P Hibernate Proxy Allgemeine Java-Themen 1

Ähnliche Java Themen

Neue Themen


Oben