am 23. August 2010
Heute will ich mal versuchen zu erklären, wie ich schöne Schnittstellen entwerfe. Natürlich gelingt es mir nicht immer, aber ich tue mein bestes. Dennoch empfinde ich es als eine der schwierigsten Disziplinen in der Softwaretechnik, aber wem sage ich das, ihr werdet bestimmt auch Tag für Tag Interfaces entwerfen.
Es gibt die klassische Methode sowas zu erledigen. Ab ans Reißbrett und ein schönes UML-Diagramm gezeichnet. Das ist eine schöne Möglichkeit schon mal alle Komponenten zu skizzieren. Finde ich eigentlich eine gute Vorgehensweise, nur leider fehlt mir dabei irgendwas. Solche Diagramme sind einfach sehr theoretisch und kühl, ich kann nicht sagen, ob sich das Resultat gut “anfühlt”. Klingt jetzt recht subjektiv für eine objektive Welt, wie wir sie eigentlich als Informatiker gewöhnt sind. Interfaces müssen sich aber gut anfühlen, damit man gerne damit arbeitet.
So jetzt nehmen wir mal meine Vorgehensweise, ob sie einem gefällt oder nicht ist, denke ich, Geschmackssache. Ich fange einfach an mit einer leeren Seite PHP-Code. Dann tue ich so, als ob ich meine Klassen schon hätte und programmiere ein einfaches Beispiel. Während ich dann so Pseudocode verfasse, formen sich die Schnittstellen automatisch. Wenn ich dann mein Beispiel fertig habe, habe ich auch die meisten öffentlichen Methoden, die ich brauche.
Jetzt kommt natürlich der Schritt, wo man – falls es was wichtiges ist – das ganze von einem Kollegen reviewen lässt. Aber ich denke, das man meistens mit so einem Start eine saubere Schnittstelle hinbekommt. Jetzt kann man sich immer noch hinsetzen und UML-Diagramme zeichnen. Da man aber schon mit der Klasse gearbeitet hat, weiß man jetzt auch wie sie sich anfühlt. Joa, das ist zumindest eine Art, wie ich Klassen und Komponenten entwerfe. Ich bin sicher, jeder von euch hat eine eigene Methode um Interfaces zu bauen, vielleicht hat ja auch einer Lust seine Rangehensweise kurz zu erklären.