The Adapter Design Pattern in PHP 5

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
Last month I continued my series of design patterns examples using PHP
5 with the Observer Pattern and the Prototype Pattern.  Here now is my
16th example, the Adapter pattern.

In the Adapter Pattern we adapt a class we have to provide methods
another class needs, without changing the original class.

If you work with a lot of classes that you can not change, then this
pattern is certainly something you would want to consider using on a
regular basis.

Re: The Adapter Design Pattern in PHP 5

FluffyCat wrote:
Quoted text here. Click to load it

Wow, thats a very nice website you have.  Some very clean examples,
though a bit more explanation might be needed for some.  It contains
some things that every developer should know, especially PHP ones,
since most PHP devs aren't formally taught these concepts.

For the iterator pattern you should note that there is a native
iterator interface in PHP5 (several, actually), allowing you to iterate
over arbitrary objects using foreach().  Other interfaces are available
to allow array access with [], using count(), etc etc.

Might want to note that only the most recent versions of MySQL support
the really useful SQL features, too, simply because MySQL < 4.1 is
still so common.

A short blurb or links about database normalization could be helpful,

Re: The Adapter Design Pattern in PHP 5

On 27 Jun 2006 23:22:38 -0700, "Richard Levasseur"

Quoted text here. Click to load it

Thanks very much for checking out the site!

I agree with you on the thin explanations.  The focus of the site is
to just give examples, but being a little more verbose would probably
help many readers.

Good point about iterators too.  It's a funny pattern with most
languages already having an iterator, which is why I tried to
illustrate implementing an iterator with an algorythm that wasn't just
linearly traversing the array one element at a time.

Funny you mention db normalization, I was considering doing a series
on that once I finish the php design patterns.  Probably show one
example in 1st - 4th or 5th normal form.  Have to come up with good
example data for that.

-Larry Truett

Re: The Adapter Design Pattern in PHP 5

FluffyCat wrote:
Quoted text here. Click to load it

A good example would probably be something along the Item-Supplier
common for shopping carts, or Employes-Managers-Dept-Company-etc.

This professor has some pretty good examples that you could mutiliate
for the purposes of explanation.  His lecture notes also provide decent
explanation of the various normal forms.

Site Timeline