News Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

PHPMaster.com:
Understanding the Observer Pattern
February 23, 2012 @ 11:39:10

PHPMaster.com has a new tutorial looking at another popular design pattern, the Observer pattern, and sharing some example code putting it to use. (Their other design pattern articles include ones on command and factory patterns).

In this article I'll show you how to implement the Observer Pattern. You'll learn how various classes in the pattern relate to one another as subject and observers, how the subject notifies observers of a change in its state, and how to identify scenarios where it would be suitable to use the Observer Pattern in your own code.

The introduce the pattern by using an abstract "Observer" and "Subject" (that defines "attach", "detach", "getState", "setState", "notify" and "getObservers" methods) observer classes to coordinate the attached classes. They extend these classes with "Auth" and "Auth_ForumHook" show how to attach the "Auth_ForumHook" classes to the main "Auth" observer manager and change the state of the observer to notify it of an update.

You can find a more detailed explanation of the Observer pattern on Wikipedia.

0 comments voice your opinion now!
observer design pattern tutorial authorization


blog comments powered by Disqus

Similar Posts

Developer Tutorials: Drupal CMS e-Commerce Module Basics

NETTUTS.com: Context Includes

IBM developerWorks: Building the DB2 Health Monitor Sample Application for PHP (Part 2)

Benjamin Schneider's Blog: Use PHP's Tidy extension to validate your (X)HTML markup

Gonzalo Ayuso's Blog: Using a stream wrapper to access CouchDb attachments with PHP


Community Events





Don't see your event here?
Let us know!


code laravel developer language testing install series list community unittest refactor interview threedevsandamaybe release opinion podcast introduction symfony2 experience framework

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework