3.2 Prinzip 2: Trennung der Anliegen 

Eine Aufgabe, die ein Programm umsetzen muss, betrifft häufig mehrere Anliegen, die getrennt betrachtet und als getrennte Anforderungen formuliert werden können.
Mit dem Begriff Anliegen bezeichnen wir dabei eine formulierbare Aufgabe eines Programms, die zusammenhängend und abgeschlossen ist.
![]() |
Ein in einer Anwendung identifizierbares Anliegen soll durch ein Modul repräsentiert werden. Ein Anliegen soll nicht über mehrere Module verstreut sein. |
Im vorigen Abschnitt haben wir etwas formuliert, das sehr ähnlich klingt: Ein Modul soll genau eine Verantwortung haben.
Trennen der Sprache und der Darstellung von der Anwendungslogik
Häufig betrachtet man die Funktionalität der Anwendung, die Darstellung von Texten oder die grafische Darstellung der Anwendung als unterschiedliche Anliegen, die in getrennten Modulen umgesetzt werden. Die Anwendungslogik ist dann in anderen Modulen als die Text- und Grafikressourcen integriert. Wenn Sie z. B. eine Internetpräsenz erstellen, ist es einfacher, die Texte und die Grafiken direkt in die Seiten einzubauen, als sie aus einer separaten lokalisierten Quelle zu beziehen. Doch sobald Sie die Internetpräsenz parallel in mehreren Sprachen zur Verfügung stellen möchten, wird klar, dass die Trennung der Anliegen »Seitenstruktur« und »Seitensprache« eine gute Idee ist.
In Abbildung 3.4 ist eine kleine Internetpräsenz aufgeführt, die in den – im Internet sehr gebräuchlichen – Sprachen Latein und Griechisch gepflegt wird.
Abbildung 3.4 Trennung der Anliegen bei der Darstellung von HTML-Seiten
In der Abbildung sind auch die Anliegen der Seitenstruktur und der Seitendarstellung getrennt, so dass sich unterschiedliche Darstellungsarten für den gleichen Inhalt umsetzen lassen.
Anliegen bei Online-Banking
Nehmen wir ein anderes Beispiel: eine Überweisung beim Online-Banking. Neben der fachlichen Aufgabe, einen Geldbetrag von einem Konto auf ein anderes zu übertragen, muss das Programm noch eine Reihe von weiteren Bedingungen sicherstellen:
1. | Nur berechtigte Personen können die Überweisung veranlassen. |
2. | Die Überweisung ist eine Transaktion. Sie gelingt entweder als Ganzes oder scheitert als Ganzes. Im Falle einer Störung wird also nicht von einem Konto Geld abgebucht, ohne auf ein anderes gutgeschrieben zu werden. |
3. | Die Kontobewegung erscheint auf den entsprechenden Kontoauszügen. |
Die Anliegen wie die Authentifizierung und Autorisierung der Benutzer, die Transaktionssicherheit oder die Buchführung betreffen nicht nur die Funktion »Überweisung«, sondern sehr viele andere Funktionen der Online-Banking-Anwendung.
Anliegen in unterschiedlichen Modulen
Die Anforderungen, die diese Anliegen betreffen, lassen sich oft einfacher formulieren, wenn sie zusammengefasst werden und von den eigentlichen fachlichen Funktionen getrennt beschrieben werden.
Implementieren wir die Funktionalität, welche die unterschiedlichen Anliegen betrifft, in unterschiedlichen Modulen, dann werden die Module einfacher und voneinander unabhängiger. Sie lassen sich getrennt und einfacher testen, modifizieren und wiederverwenden.
Diskussion: Objektorientierung und Trennung der Anliegen
Bernhard: Ist denn Objektorientierung überhaupt der richtige und der einzige Weg, der uns ermöglicht, die unterschiedlichen Anliegen getrennt zu entwickeln?Gregor: Die Objektorientierung kann hier nur als erster Schritt betrachtet werden, wir werden später im Buch sehen, dass die Trennung bestimmter wichtiger Arten von Anliegen nicht zu den Stärken objektorientierter Systeme gehört. Dieses Problem wird durch die aspektorientierte Vorgehensweise adressiert, dem wir das Kapitel 9, »Aspekte und Objektorientierung«, widmen.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.