Browse Source

Изменил(а) на 'Programmiersprachen.md'

master
fdai7591 2 years ago
parent
commit
a3ba970d6a
  1. 22
      Programmiersprachen.md

22
Programmiersprachen.md

@ -46,3 +46,25 @@ Vorteile:
* läuft im Browser (Webanwendungen werden immer beliebter)
Typische Anwendungsgebiete von JavaScript im Onlinebereich, wären z.B. das Anzeigen eines Pop-ups, Anzeige von Werbebannern, Plausibilitätsprüfung bei Dateneingaben usw.
## Progammierprinzipien
- „S“ wie „Single-Responsibility-Prinzip“
Die Kernaussage des Prinzips ist, dass jede Klasse nur genau eine fest definierte Aufgabe zu erfüllen hat. Wenn eine Klasse mehrere Verantwortungen zu tragen hat, führt das zu Schwierigkeiten bei zukünftigen Änderungen
und das Fehlerrisiko steigt. Eine hohe Kohäsion – also alle Methoden innerhalb einer Klassen haben einen starken gemeinsamen Bezug – sollte angestrebt werden.
- „O“ wie „Open-Closed-Prinzip“
Dieses Prinzip besagt, dass Klassen, Methoden, Module et cetera so entwickelt werden sollen, dass sie einfach zu erweitern sind – ohne aber ihr Verhalten zu ändern. Das beste Beispiel dafür ist wohl die Vererbung. Das Verhalten
einer Klasse wird nicht verändert, erhöht aber trotzdem die Funktionalität der Software. Auch das Überschreiben von Methoden verändert nicht das Verhalten der Basisklasse, sondern nur die Methoden der abgeleiteten Klasse.
- „L“ wie „Liskovsches Substitutionsprinzip“
Das (Ersetzungs-)Prinzip sagt aus, dass eine Subklasse immer alle Eigenschaften der Superklasse erfüllen und immer als Objekt der Superklasse verwendbar sein muss. Eine Subklasse darf somit Erweiterungen enthalten, aber keine grundlegenden Änderungen.
- „I“ wie „Interface-Segregation-Prinzip“
Zu große Schnittstellen sollen in mehrere Schnittstellen aufgeteilt werden, falls implementierende Klassen unnötige Methoden haben müssen. Nach erfolgreicher Anwendung dieses Entwurfprinzips müsste ein Modul, das eine Schnittstelle benutzt, nur diejenigen Methoden
implementieren, die es auch wirklich braucht.
- „D“ wie „Dependency-Inversion-Prinzip“
Es beschäftigt sich mit der Abhängigkeit von Modulen. Objektorientierte Entwürfe werden in Module strukturiert, die unterschiedliche Verantwortlichkeiten umsetzen. Eine gängige Praxis ist das Anordnen der Module in Ebenen. Je niedriger die Ebene eines Moduls,
desto spezieller sind die Vorgänge, die es definiert. In Modulen niedrigerer Ebenen werden Abläufe definiert, welche von allgemeineren Abläufen in höheren Ebenen benutzt werden. Das Modul der höheren Ebene definiert die Schnittstelle, mit der es arbeitet.
Module niedrigerer Ebene realisieren die Schnittstelle.
Loading…
Cancel
Save