Skip to Content
Learning PHP Design Patterns
book

Learning PHP Design Patterns

by William Sanders
February 2013
Intermediate to advanced content levelIntermediate to advanced
362 pages
8h 16m
English
O'Reilly Media, Inc.
Content preview from Learning PHP Design Patterns

Part III. Structural Design Patterns

What we observe as material bodies and forces are nothing but shapes and variations in the structure of space.

Erwin Schrodinger

A living cell requires energy not only for all its functions, but also for the maintenance of its structure.

Albert Szent-Gyorgyi

Most of the dogmatic religions have exhibited a perverse talent for taking the wrong side on the most important concepts in the material universe, from the structure of the solar system to the origin of man.

George G. Simpson

Structural design patterns examine how objects and classes are composed to form larger structures. In class structural design, new structures are created through multiple inheritance. One class inherits from more than a single parent class to create a new structure. More commonly, object structures combine different objects to form new structures. The following seven patterns have been designated as structural by Gamma, Helm, Johnson, and Vlissides:

  • Adapter (class and object)

  • Bridge

  • Composite

  • Decorator

  • Façade

  • Flyweight

  • Proxy

Of these seven, two versions of the Adapter pattern—class and object—and the Decorator pattern are closely examined in Part III. The Adapter is important for bringing together two incompatible systems through an adaptation using either multiple inheritance or through composition. One of the thorny problems to deal with is that PHP does not have multiple inheritance, but as you will see, PHP has a workaround available for doing class category Adapters. Composition, ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Mastering PHP Design Patterns

Mastering PHP Design Patterns

Junade Ali
Domain-Driven Design in PHP

Domain-Driven Design in PHP

Keyvan Akbary, Carlos Buenosvinos, Christian Soronellas

Publisher Resources

ISBN: 9781449344900Supplemental ContentErrata PagePurchase book