Wiki: Mathe und Info

Unterrichtsmaterialien für Mathematik und Informatik

Benutzer-Werkzeuge

Webseiten-Werkzeuge


info:sek-ii:e2:processing:fk-separation-of-concerns

Fachkonzept: SoC - Separation of Concerns

Ähnlich wie DRY ist Separation of Concerns (kurz: SoC, deutsch: eigentlich Trennung von Bedenken, besser aber: Trennung von Interessen) ein Fachkonzept, das Code besser wartbar und verständlich machen soll.

Betrachten wir noch einmal die beiden Code-Beispiele aus dem letzten Fachkonzept, die beide die gleiche Funktion zeichnen:

void setup() {
  size(300, 150);
}
 
void draw() {
  background(255);
  strokeWeight(3);
  stroke(0);
  for (float i = 0; i < width; i += 5) {
    point(i, sin(i / 10) * 10 + height / 2);
  }
}
void setup() {
  size(300, 150);
}
 
void draw() {
  background(255);
  strokeWeight(3);
  stroke(0);
  for (float i = 0; i < width; i += 5) {
    point(i, meinSinus(i) + height / 2);
  }
}
 
float meinSinus(float x) {
  return sin(x / 10) * 10;
}

Im zweiten Beispiel ist ganz klar ersichtlich, welche mathematische Funktion gezeichnet werden soll, nämlich $f(x)=10\cdot sin(\frac{x}{10})$. Somit sind die Anliegen klar getrennt: Die draw()-Methode zeichnet eine Funktion, und die meinSinus(x)-Funktion stellt die mathematische Funktion dar. Im ersten Beispiel waren die beiden Anliegen vermischt.

Insgesamt sollte ein Programmierer verschiedene Dinge tun, um ein Programm gut wartbar zu machen, nämlich1):

  1. beschreiben, was berechnet werden soll
  2. die Berechnungssequenz in kleinen Schritte organisieren
  3. und die Speicherverwaltung während der Berechnung organisieren

Punkt 3 macht Java zum Glück automatisch für uns. Also müssen wir nur die Punkte 1 und 2 einhalten, um dem SoC-Prinzip zu entsprechen.

info/sek-ii/e2/processing/fk-separation-of-concerns.txt · Zuletzt geändert: 2022-06-03 10:13 von christian.weber