Wie sieht eine gute API aus?

Gem. Joshua Bloch „If in doubt, leave it out!“.

Das heißt soviel wie, nur Methoden in eine API aufnehmen, von denen man sicher ist, dass sie auch benötigt werden. Methoden für die man kein verwender hat, sollte man nicht mit aufnehmen. Den Neues kann man leicht
hinzufügen, Bestehendes aber nicht so leicht verändert oder entfernen. Also sich auf das konzentrieren, was
in den Anforderungen gebraucht wird. Sonst wird das System unnötig komplex.

Siehe diesen Video bei ca. 24 min.

Generische Methoden

Das einzig seltsame an generischen Methoden ist, das die Type Variable (hier T) vor dem return Typ der Methode deklariert werden muss.

Hier ein Beispiel mit der getKlassenname Methode, die für alle Objekte den Klassennamen als String zurück gibt.

public class GenericMethods {

public static < T > String getKlassenname(T t) {

return t.getClass().getName();
}

public static void main(String[] args) {

System.out.println(GenericMethods.getKlassenname(new Integer(1)));

System.out.println(GenericMethods.getKlassenname("String"));

System.out.println(GenericMethods.getKlassenname(new ArrayList()));
}
}


Wie sieht das Ergebnis aus? „Generische Methoden“ weiterlesen

UML Komposition

Eine Komposition ist ein Sonderfall der Aggregation, er beschreibt die Beziehung zwischen einem Ganzen und seinen Teilen. Ein Teil kann immer nur genau einem Ganzen zugeordnet sein.

In UML kann eine Komposition die an der ausgefüllten Raute am Ganzen, so dargestellt werden:
UML Komposition
Eine Komposition in Java kann wie folgt erstellt werden „UML Komposition“ weiterlesen

Keine unbehandelten Exception

Gefangene Exception müssen immer behandelt werden. Das ist der Sinn von Ausnahmen.

Ein ignorieren der Exception ist so wie das ausschalten eines Brandmelders. Wenn es brennt nützt der dann auch nichts mehr.

So auch die Exception die gefangen werden.
Sie sollen ja ein Ausnahme sein, die auch dem entsprechend behandelt werden soll.


try
{
// ...
}catch(IrgendeineException e)
{
// in Ausnahmefällen kann hier ein Kommentar stehen,
// warum nichts gemacht wird
// aber kein Kommentar und nur ein leerer catch block
// ist ein NO GO!
}

(see Joshua Bloch Item 65)

Willkommen zum Blog rund um die Programmierung

Mindestens einmal pro Woche erscheinen hier die Tips zur Programmierung rund um Java.

Der wöchentliche 5-10 Minuten-Snack für zwischendurch.

Perfekt für alle, die nebenbei ihr Kenntnisse auffrischen, erweitern und verbessern wollen.