Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Kernprinzipien der Komposition | Abschnitt
Objektorientierte Programmierung in Python

bookKernprinzipien der Komposition

Komposition konzentriert sich darauf, komplexe Objekte durch die Kombination von einfacheren, unabhängigen Komponenten zu erstellen. Anstatt sich auf Vererbung zu verlassen, die starre Hierarchien erzeugt, ermöglicht Komposition Klassen die Zusammenarbeit durch enthaltene Objekte. Dieser Ansatz macht Systeme flexibler, modularer und leichter wartbar, da Komponenten ersetzt oder erweitert werden können, ohne die gesamte Struktur zu beeinträchtigen.

example.py

example.py

copy

Order implementiert die Zahlungs-, Lager- oder Versandlogik nicht selbst. Stattdessen besitzt es separate Objekte (Payment, Inventory, Shipping) und nutzt diese zur Ausführung seiner Aufgaben.

Jede Komponente hat eine eigene Verantwortung, und Order koordiniert lediglich deren Zusammenarbeit. Wenn die Zahlungs- oder Versandabwicklung geändert werden soll, kann die jeweilige Komponente ersetzt werden, ohne die Klasse Order zu modifizieren.

Einige Fallstricke bei der Verwendung von Komposition sind das Erstellen von Gottobjekten, die zu viele Komponenten sammeln und schwer zu verwalten sind, das Durchreichen von Komponenten-APIs durch die äußere Klasse anstelle einer klaren Schnittstelle sowie das Einführen von versteckter Kopplung, wenn Komponenten zu sehr von den internen Details anderer abhängen.

God-Objekte
expand arrow

Ein God-Objekt versucht, zu viele Aufgaben zu übernehmen. Es enthält viele Komponenten und übernimmt zahlreiche Verantwortlichkeiten, was die Klasse schwer verständlich, testbar und wartbar macht.

Durchlässige Komponenten-APIs
expand arrow

Dies tritt auf, wenn die äußere Klasse die internen Methoden oder Attribute ihrer Komponenten offenlegt. Anstatt eine eigene, klare Schnittstelle bereitzustellen, zwingt sie die Nutzer, direkt mit internen Objekten zu interagieren.

Versteckte Kopplung
expand arrow

Komponenten werden durch interne Details eng miteinander verbunden. Eine Änderung an einem Teil führt unerwartet zu Fehlern in einem anderen, da sie sich auf die interne Struktur des jeweils anderen anstatt auf klare Verträge verlassen.

question mark

Welches häufige Risiko kann bei der Verwendung von Komposition auftreten und das Design schwerer wartbar machen?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 16

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

bookKernprinzipien der Komposition

Swipe um das Menü anzuzeigen

Komposition konzentriert sich darauf, komplexe Objekte durch die Kombination von einfacheren, unabhängigen Komponenten zu erstellen. Anstatt sich auf Vererbung zu verlassen, die starre Hierarchien erzeugt, ermöglicht Komposition Klassen die Zusammenarbeit durch enthaltene Objekte. Dieser Ansatz macht Systeme flexibler, modularer und leichter wartbar, da Komponenten ersetzt oder erweitert werden können, ohne die gesamte Struktur zu beeinträchtigen.

example.py

example.py

copy

Order implementiert die Zahlungs-, Lager- oder Versandlogik nicht selbst. Stattdessen besitzt es separate Objekte (Payment, Inventory, Shipping) und nutzt diese zur Ausführung seiner Aufgaben.

Jede Komponente hat eine eigene Verantwortung, und Order koordiniert lediglich deren Zusammenarbeit. Wenn die Zahlungs- oder Versandabwicklung geändert werden soll, kann die jeweilige Komponente ersetzt werden, ohne die Klasse Order zu modifizieren.

Einige Fallstricke bei der Verwendung von Komposition sind das Erstellen von Gottobjekten, die zu viele Komponenten sammeln und schwer zu verwalten sind, das Durchreichen von Komponenten-APIs durch die äußere Klasse anstelle einer klaren Schnittstelle sowie das Einführen von versteckter Kopplung, wenn Komponenten zu sehr von den internen Details anderer abhängen.

God-Objekte
expand arrow

Ein God-Objekt versucht, zu viele Aufgaben zu übernehmen. Es enthält viele Komponenten und übernimmt zahlreiche Verantwortlichkeiten, was die Klasse schwer verständlich, testbar und wartbar macht.

Durchlässige Komponenten-APIs
expand arrow

Dies tritt auf, wenn die äußere Klasse die internen Methoden oder Attribute ihrer Komponenten offenlegt. Anstatt eine eigene, klare Schnittstelle bereitzustellen, zwingt sie die Nutzer, direkt mit internen Objekten zu interagieren.

Versteckte Kopplung
expand arrow

Komponenten werden durch interne Details eng miteinander verbunden. Eine Änderung an einem Teil führt unerwartet zu Fehlern in einem anderen, da sie sich auf die interne Struktur des jeweils anderen anstatt auf klare Verträge verlassen.

question mark

Welches häufige Risiko kann bei der Verwendung von Komposition auftreten und das Design schwerer wartbar machen?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 16
some-alt