Eine Übersicht verschiedener Entwurfsmuster aus der Software Entwicklung mit PHP. Es werden Codebeispiele der Muster aufgezeigt und wie diese in einem UML-Diagramm abgebildet werden.
Inheritance – Ableitung
1 2 3 4 5 6 7 8 9 |
class Oberklasse { } class Unterklasse extends Oberklasse { } |
Associations – Aggregation
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
class DataAccess { function query($sql){ // do something } } class Dao { private $da; function __construct($da){ $this->da = $da; } public function foo(){ $this->da->query('SELECT * FROM table'); } } $da = new DataAccess(); $dao = new Dao($da); $dao->foo(); |
Associations – Composition
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
class Logger { function log($str){ // do something } } class TestKlasse { private $logger; function __construct(){ $this->logger = new Logger(); } public function foo(){ $this->logger->log('Hallo Welt'); } } |
Associations – Messages (One Way)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
class HelperClass { public function parseWords($str){ // do anything return $str; } } class TestKlasse { public function foo(){ $str = "Hallo Welt"; $out = HelperClass::parseWords($str); } } |
Noch mehr Muster
- Observer Pattern
- Strategy Pattern
- Facade Pattern
- Guter Artikel wie die Pattern Factory, Strategy, Singelton in PHP abgebildet werden