The Adapter Design Pattern in PHP 5

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • FluffyCat

    The Adapter Design Pattern in PHP 5

    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.
  • Richard Levasseur

    #2
    Re: The Adapter Design Pattern in PHP 5


    FluffyCat wrote:[color=blue]
    > 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.
    >
    > http://www.fluffycat.com/PHP-Design-Patterns/Adapter/
    >
    > 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.[/color]

    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,
    too.

    Comment

    • FluffyCat

      #3
      Re: The Adapter Design Pattern in PHP 5

      On 27 Jun 2006 23:22:38 -0700, "Richard Levasseur"
      <richardlev@gma il.com> wrote:
      [color=blue]
      >
      >FluffyCat wrote:[color=green]
      >> 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.
      >>
      >> http://www.fluffycat.com/PHP-Design-Patterns/Adapter/
      >>
      >> 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.[/color]
      >
      >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,
      >too.[/color]

      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

      LTruett@FluffyC at.com




      Comment

      • Richard Levasseur

        #4
        Re: The Adapter Design Pattern in PHP 5


        FluffyCat wrote:[color=blue]
        > On 27 Jun 2006 23:22:38 -0700, "Richard Levasseur"
        > <richardlev@gma il.com> wrote:
        >[color=green]
        > >
        > >FluffyCat wrote:[color=darkred]
        > >> 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.
        > >>
        > >> http://www.fluffycat.com/PHP-Design-Patterns/Adapter/
        > >>
        > >> 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.[/color]
        > >
        > >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,
        > >too.[/color]
        >
        > 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
        >
        > LTruett@FluffyC at.com
        >
        >
        > www.FluffyCat.com[/color]


        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.


        Comment

        Working...