Hier im Forum bekommt ihr bei euren fragen schnelle hilfe.Hier geht es rund um das Web SeitenProgrammieren.Alles rund ums Javascript,Html,Php,Css und Sql.Auf fast allen Fragen haben wir eine Antwort.
Der Soforthilfe-chat verspricht das ,was sein Name sagt. Hier sind Leute Online die sofort ihre hilfe anbieten.Seht in der OnlineListe nach und wenn einer Online ist werdet ihr auch antwort bekommen. Admine ,Moderatoren und Helfer sind unsere Spezialisten in Sachen Web Programierung
71 Unwetterwarnungen in Deutschland
Die Datenbank wurde zuletzt am 02.08.2020 17:34:28 aktualiesiert
71

Grundprinzipien der objektorientierten Programmierung

Loose Coupling – Schwache Kopplung

  • Definiert, wie sehr Systembesstandteile voneinander abhängen
  • Klassen sollten so strukturiert sein, dass sie auf möglichst wenige andere Klassen angewiesen sind, um funktionieren zu können
  • Erhöht Wiederverwendbarkeit der Klassen enorm!

sinnvolle Abhängigkeiten

  • Stark zusammengehörende Code-Teile sollten zusammengefasst werden
  • Nicht zusammenhängende Code-Teile sollten ausgelagert werden (don’t do too much!)
  • Veränderungen einer Klasse sollten im Optimalfall keine Änderung an weiteren Klassen hervorrufen

Information Hiding – Geheimnisprinzip

  • Jede Klasse gibt nur das nötigste nach außen und „weiß“ selbst auch nur das, was sie zum funktionieren wissen muss
  • Keine Interna werden nach außen getragen. Ich muss nicht wissen, dass intern ein Stack als Datenstruktur verwendet wird, um die Klasse zu benutzen
  • Änderungen innerhalb der Klasse selbst sollten nach außen nicht sichtbar sein, da andere Klassen nur das nötigste von ihr kennen
  • Spielt auf sinnvolle Verwendung von public / private / protected an

Homogenität

  • Vergleichbare Probleme sollten mit vergleichbarer Komplexität gelöst werden
  • Wiederverwendung von bereits bestehenden Lösungen soweit wie möglich
  • Leitlinie: „Erwartungshaltung“ anderer Teammitglieder sollte erfüllt werden, was den Umfang der Realisierung einer Klasse angeht

Don’t repeat yourself – Redundanzfreiheit

  • Jede Funktionalität ist an genau einer Stelle vorhanden und wird – bei Bedarf – von anderen Systembestandteilen verwendet (Don’t reinvent the wheel)
  • Sollte Code mehrfach verwendet worden sein (Copy & Paste aus Faulheit), wird eine neue Funktion daraus erschaffen, die dann von allen Teilen aus aufgerufen wird
  • Vorteil: Bei einem Fehler muss nur an einer Stelle korrigiert werden und alle anderen, davon abhängigen Teile sind automatisch „gefixt“