Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Neuerungen in PHP 5  Teil von  OOP und PHP 5
Professional CronJob-Service

Suche

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP?
In über 130.000 Beiträgen finden Sie sicher die passende Antwort!  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 
 
Entwurfsmuster (Design Patterns): Seite 1

SELFPHP ist Shopware Solution Partner
Shopware ist ein vielfach ausgezeichnetes Onlineshop-System der shopware AG, das auf PHP. Zend Framework und SQL basiert.
SELFPHP unterstützt Sie als Shopware Solution Partner bei der Konzeption, Programmierung und Realisierung Ihres Onlineshops und passt Shopware bei Bedarf an Ihre Unternehmensbedürfnisse an. Weitere Informationen



Die Idee der Entwurfsmuster wurde in der Softwareentwicklung aus der Architektur übernommen. Erich Gamma, Mitte der neunziger Jahre Wissenschaftler an der Hochschule in Zürich, promovierte über die Übertragung dieser Methode auf die Softwareentwicklung. Im Anschluss ging er nach Amerika, wo er zusammen mit Richard Helm, Ralph Johnson und John Vlissides das Buch »Design Patterns – Elements of Reusable Design« herausbrachte. Dieses Autorenquartett hat sich den Spitznamen »Gang of Four« (Viererbande) eingehandelt. GoF wird gelegentlich auch als Verweis für besagtes Buch verwandt. In der Architektur ist die Idee, Entwurfsmuster zu verwenden, aber bei Weitem nicht so verbreitet wie in der Softwareentwicklung.

Ein Entwurfsmuster beschreibt in Textform eine in der Praxis erfolgreiche Lösung für ein mehr oder weniger häufig auftretendes Entwurfsproblem. Die Beschreibung eines Entwurfsmusters folgt gewissen Regeln:
  • Beschreibung eines konkreten Problems
  • Beschreibung einer konkreten Lösung
  • Verallgemeinerung der Lösung
  • Diskussion über Vor- und Nachteile des Musters
  • Codebeispiele
  • Verwandte Entwurfsmuster

Der primäre Nutzen eines Entwurfsmusters liegt in der Beschreibung einer Lösung für eine bestimmte Klasse von Problemen. Weiterer Nutzen ergibt sich aus der Tatsache, dass jedes Muster einen Namen hat. Dies vereinfacht die Diskussion unter Softwareentwicklern, da man abstrahiert über eine Softwarestruktur sprechen kann. So sind Entwurfsmuster zunächst einmal sprachunabhängig.

Wenn der Einsatz von Entwurfsmustern dokumentiert wird, ergibt sich ein weiterer Nutzen dadurch, dass aufgrund der Beschreibung des Musters ein Bezug hergestellt wird zur dort vorhandenen Diskussion des Problemkontextes und den Vor- und Nachteilen der Lösung.

Moderne Hochsprachen unterstützen einige der gängigen Entwurfsmuster bereits mit bestimmten Sprachmitteln, sodass man sich in der Praxis vor allem bei der Nutzung moderner Sprachen im Prozess der objektorientierten Analyse (OOA) und des objektorientierten Designs (OOD) der Entwurfsmuster bedient, die dort unter Umständen noch immer implementationsneutral in der Unified Modeling Language (UML) angewandt werden.

Im Lauf der Zeit wurden Lösungen für bestimmte Probleme gefunden, die erfolgreich eingesetzt wurden und somit einen Katalog mit insgesamt 23 Entwurfsmustern bildeten. Laut GoF lassen sich sämtliche Entwurfsmuster in folgende drei grundlegende Mustergruppen zusammenfassen:
  • Creational Patterns (Erzeugungsmuster)
  • Structural Patterns (Strukturmuster)
  • Behavioral Patterns (Verhaltensmuster)

Zu den bekanntesten Entwurfsmustern gehören unter anderem der Model View Controler (MVC), das Actor-Role Pattern und das Singleton Pattern.

Hinweis: Patterns sollen den Entwickler bei seiner Arbeit unterstützen. Die Aufgabe des Entwicklers besteht somit nicht mehr darin, das Rad neu zu erfinden, sondern vielmehr darin, das passende Rad zu verwenden.

Was Patterns nicht sind...

Für eine Vielzahl von Entwicklern sind Entwurfsmuster aus der Anwendungsentwicklung nicht mehr wegzudenken. Sollten auch Sie sich näher mit Entwurfsmustern auseinandersetzen wollen, dann gilt es Folgendes zu beachten, um Missverständnisse von vornherein zu vermeiden:
  • Entwurfsmuster sind keine Algorithmen. Algorithmen lösen Probleme (Suchen, Sortieren etc.) und bieten weniger Flexibilität in der Implementierung.
  • Entwurfsmuster sind kein Allheilmittel! Erfindungsgeist ist bei der Anwendung von Entwurfsmustern immer noch gefragt.
  • Entwurfsmuster sind keine Frameworks. Frameworks setzen sich aus wiederverwendbarem Code zusammen, Entwurfsmuster enthalten lediglich Beispiele von Code. Frameworks werden für festgelegte Anwendungsbereiche eingesetzt, Entwurfsmuster hingegen können überall eingesetzt werden.


Singleton-Entwurfsmuster

Das Singleton-Entwurfsmuster ist ein in der Softwareentwicklung eingesetztes Muster und gehört zur Gruppe der Erzeugungsmuster. Es stellt sicher, dass zu einer Klasse nur genau ein Objekt erzeugt werden kann, und ermöglicht einen globalen Zugriff auf dieses Objekt.

Das Entwurfsmuster findet Verwendung, wenn nur ein Objekt zu einer Klasse existieren darf und ein einfacher Zugriff auf dieses Objekt benötigt wird, oder wenn das einzige Objekt durch Unterklassenbildung spezialisiert werden soll.

In der Praxis wird diese Technik verwendet, um Ressourcen schonend zu programmieren. Verbindungen zu Ressourcen, die nur einmalig vorhanden sind, wie beispielsweise Dateien, werden über Singleton-Klassen verwaltet.

Weitere Anwendungsbeispiele sind:
  • Ein zentrales Protokollobjekt, das Ausgaben in eine Datei schreibt
  • Datenbankzugriffe, die mit einer Datenbank verbunden werden sollen und lediglich auf ein Verbindungsobjekt zurückgreifen




Neue Konstante __METHOD__
 




:: Premium-Partner ::

Webhosting/Serverlösungen

Profihost AG weitere Premium-Partner
 

:: SELFPHP Sponsor ::

Microsoft Deutschland GmbH weitere Sponsoren
 


:: Buchempfehlung ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Webhosting/Serverlösungen

Suchen Sie den für Sie passenden IT-Dienstleister für Ihr Webhosting-Paket oder Ihre Serverlösung?

Sie sind nur ein paar Klicks davon entfernt!


 

Ausgewählter Tipp im Bereich PHP-Skripte


Programmcode farbig hervorheben inkl. Zeilennummern

Weitere interessante Beispiele aus dem SELFPHP Kochbuch finden Sie im Bereich PHP-Skripte
 

SELFPHP Code Snippet


Größe einer MySQL-Tabelle ermitteln

Weitere interessante Code Snippets finden Sie auf SELFPHP im Bereich PHP Code Snippets
 
© 2001-2017 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt
© 2005-2017 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de