Skip to Content
Professional PHP Design Patterns
book

Professional PHP Design Patterns

by Aaron Saray
August 2009
Intermediate to advanced
281 pages
6h 50m
English
Wrox
Content preview from Professional PHP Design Patterns

17.1. Problem and Solution

The beauty of Object Oriented Programming can sometimes be disfigured by its incorrect usage. Many programmers can grasp the modularization of individual entities as objects. But object-oriented architecture does not stop at just entity architecture. Any task, whether it's the creation of the entity or a modification to said entity, can be encompassed in an object. The Strategy Design Pattern is a great example of taking the object-oriented approach to this next level.

The Strategy Design Pattern details the construction of an object so that it is lighter weight by removing complex logic from itself. Instead of holding a set of logic internally, the object can invoke algorithms from other classes on the fly.

When first examining the Strategy Design Pattern, programmers may mistake the construction of this functionality for standard object inheritance. One of the most common uses of Object Oriented Programming consists of building objects that extend each other. This way, the core object is smaller, with all child objects having additional sets of logic.

Functionally, this can cause a headache. Imagine an object that has multiple children, each of which modify the base object in a specific way. If there is just one single instance of the modification to take place, extending a child class may seem the easiest route to take. The problem comes in when that particular object needs to have multiple modifications. Since the parent/child relationship is already ...

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.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Design Patterns in PHP and Laravel

Design Patterns in PHP and Laravel

Kelt Dockins
Magento 2 Theme Design - Second Edition

Magento 2 Theme Design - Second Edition

Fernando J Miguel, Richard Carter
PHP 7: Real World Application Development

PHP 7: Real World Application Development

Doug Bierer, Altaf Hussain, Branko Ajzele

Publisher Resources

ISBN: 9780470496701Purchase book