© saicle/Shutterstock.com
PHP Magazin
Funktionalitäten der einzelnen Methoden

Recyclebares Softwaredesign

Um dynamische, beziehungsweise generische und damit flexible und universelle Codekonstrukte zu ermöglichen, bietet PHP unterschiedliche Techniken an. Der folgende Artikel gibt einerseits Aufschluss über die Funktionalitäten der einzelnen Methoden, andererseits zeigt er, in welchem Kontext sie ihre optimale Wirkung entfalten.

Marco Schulz


Damit Projekte flexibel auf mögliche Änderungen reagieren können, ist es äußerst hilfreich, zentrale Bereiche wie Datenbankzugriffe und Ähnliches mittels generischer Techniken zu implementieren. Vorteile dieses Mehraufwands ergeben sich vor allem bei Änderungen oder Erweiterungen von Funktionalitäten eines Artefakts. Die Überlegung ist, für eine Komponente exakt die Funktionalität bereitzustellen, die der Kunde benötigt. Aus Erfahrung ist allgemein bekannt, dass bereits innerhalb eines abzuwickelnden Projekts solche Änderungen vorzunehmen sind. Um kosteneffizient arbeiten zu können, ist es unvermeidlich, Codedubletten strikt zu vermeiden und Funktionalitäten erst dann zu implementieren, wenn sie tatsächlich benötigt werden.

Die letzte Forderung vermeidet vor allem so genannten „Death Code“, der bezeichnenderweise nie zum Einsatz kommt. Die Folge ist, dass solche Fragmente typischerweise unzureichend oder gar nicht getestet wurden, was schnell zu einem Sicherheitsrisiko für die gesamte Applikation werden kann.

Die Wahl der Qual

Um für das eigene Vorhaben eine zufriedenstellende Lösung zu entwickeln, ist der Blick auf das Ganze von entscheidender Bedeutung. In den seltensten Fällen ist es zielführend, eine bewährte Methode für alle erdenklichen Problemstellungen zu adaptieren. Vielmehr ergibt sich eine elegante Lösung aus der Kombination verschiedenster Techniken. Die wichtigsten Punkte, um entscheiden zu können, welche Lösung sich als die geeignetste erweisen kann, sind die Grundkonzepte für gute Architektur, die wie folgt lauten:

Verständlichkeit: Jeder Entwickler muss auch mit wenig Erfahrung das Hauptkonzept verstehen können. Je komplexer die Architektur ist, desto stärker ist der Architekt in der Pflicht, seine Vorgaben auf Erfüllung zu prüfen.Benutzbarkeit: Fehlende Benutzerfreundlichkeit wirkt sich auf die Akzeptanz der Entwickler aus und kann zu Workarounds führen, um den Implementierungsaufwand zu reduzieren.Fehlertoleranz: Meint vor allem die Menge der Freiheitsgrade der Vorgaben, die einem Entwickler zugestanden werden und in denen er sich zu bewegen hat. Auch hier ist ein sinnvoller Mittelweg gefragt: Weder zu starr gefasste, noch zu flexibel gehaltene Architekturen sind dem Erfolg dienlich.

Im besten Fall bestärkt eine ausgewogene Architektur den Entwickler bei seiner Arbeit und unterstützt ihn beim Vermeiden von Fehlern. In der kollaborativen Zusammenarbeit fördert die Architektur die Kommunikation und das Verständnis untereinander. Ein gutes Bei...

PHP Magazin
Funktionalitäten der einzelnen Methoden

Recyclebares Softwaredesign

Um dynamische, beziehungsweise generische und damit flexible und universelle Codekonstrukte zu ermöglichen, bietet PHP unterschiedliche Techniken an. Der folgende Artikel gibt einerseits Aufschluss über die Funktionalitäten der einzelnen Methoden, andererseits zeigt er, in welchem Kontext sie ihre optimale Wirkung entfalten.

Marco Schulz


Damit Projekte flexibel auf mögliche Änderungen reagieren können, ist es äußerst hilfreich, zentrale Bereiche wie Datenbankzugriffe und Ähnliches mittels generischer Techniken zu implementieren. Vorteile dieses Mehraufwands ergeben sich vor allem bei Änderungen oder Erweiterungen von Funktionalitäten eines Artefakts. Die Überlegung ist, für eine Komponente exakt die Funktionalität bereitzustellen, die der Kunde benötigt. Aus Erfahrung ist allgemein bekannt, dass bereits innerhalb eines abzuwickelnden Projekts solche Änderungen vorzunehmen sind. Um kosteneffizient arbeiten zu können, ist es unvermeidlich, Codedubletten strikt zu vermeiden und Funktionalitäten erst dann zu implementieren, wenn sie tatsächlich benötigt werden.

Die letzte Forderung vermeidet vor allem so genannten „Death Code“, der bezeichnenderweise nie zum Einsatz kommt. Die Folge ist, dass solche Fragmente typischerweise unzureichend oder gar nicht getestet wurden, was schnell zu einem Sicherheitsrisiko für die gesamte Applikation werden kann.

Die Wahl der Qual

Um für das eigene Vorhaben eine zufriedenstellende Lösung zu entwickeln, ist der Blick auf das Ganze von entscheidender Bedeutung. In den seltensten Fällen ist es zielführend, eine bewährte Methode für alle erdenklichen Problemstellungen zu adaptieren. Vielmehr ergibt sich eine elegante Lösung aus der Kombination verschiedenster Techniken. Die wichtigsten Punkte, um entscheiden zu können, welche Lösung sich als die geeignetste erweisen kann, sind die Grundkonzepte für gute Architektur, die wie folgt lauten:

Verständlichkeit: Jeder Entwickler muss auch mit wenig Erfahrung das Hauptkonzept verstehen können. Je komplexer die Architektur ist, desto stärker ist der Architekt in der Pflicht, seine Vorgaben auf Erfüllung zu prüfen.Benutzbarkeit: Fehlende Benutzerfreundlichkeit wirkt sich auf die Akzeptanz der Entwickler aus und kann zu Workarounds führen, um den Implementierungsaufwand zu reduzieren.Fehlertoleranz: Meint vor allem die Menge der Freiheitsgrade der Vorgaben, die einem Entwickler zugestanden werden und in denen er sich zu bewegen hat. Auch hier ist ein sinnvoller Mittelweg gefragt: Weder zu starr gefasste, noch zu flexibel gehaltene Architekturen sind dem Erfolg dienlich.

Im besten Fall bestärkt eine ausgewogene Architektur den Entwickler bei seiner Arbeit und unterstützt ihn beim Vermeiden von Fehlern. In der kollaborativen Zusammenarbeit fördert die Architektur die Kommunikation und das Verständnis untereinander. Ein gutes Bei...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang