Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Short Intro to Design Patterns

5048618030da9845ed2710e0dc4da654?s=47 Jacob Mather
December 16, 2012

Short Intro to Design Patterns

We wanted to have a short overview of the basic concepts behind design patterns. These are mainly for reference by the talk attendees as they may not make much sense out of context.

5048618030da9845ed2710e0dc4da654?s=128

Jacob Mather

December 16, 2012
Tweet

Transcript

  1. Common  Design  Pa-erns   Things  you  will  see  in  so5ware.

      Over,  and  over,  and  over  again.   Jacob  Mather   @thejmather   h-p://jmather.com  
  2. Framework  Design  Pa-erns   •  MVC   •  MVCS  

    Jacob  Mather   @thejmather   h-p://jmather.com  
  3. MVC   •  Model   •  View   •  Controller

      Jacob  Mather   @thejmather   h-p://jmather.com  
  4. MVC   •  Model   •  View   •  Controller

      SomeImes  I  am  heavy   Jacob  Mather   @thejmather   h-p://jmather.com  
  5. MVC   •  Model   •  View   •  Controller

      SomeImes  I  am  heavy   Jacob  Mather   @thejmather   h-p://jmather.com  
  6. MVC   •  Model   •  View   •  Controller

      I’m  always  light   Jacob  Mather   @thejmather   h-p://jmather.com  
  7. MVCS   •  Model   •  View   •  Controller

      •  Service   Jacob  Mather   @thejmather   h-p://jmather.com  
  8. MVCS   •  Model   •  View   •  Controller

      •  Service   I’m  always  light   Jacob  Mather   @thejmather   h-p://jmather.com  
  9. MVCS   •  Model   •  View   •  Controller

      •  Service   I’m  always  light   Jacob  Mather   @thejmather   h-p://jmather.com  
  10. MVCS   •  Model   •  View   •  Controller

      •  Service   I’m  always  light   Jacob  Mather   @thejmather   h-p://jmather.com  
  11. MVCS   •  Model   •  View   •  Controller

      •  Service   I’m  always  heavy   Jacob  Mather   @thejmather   h-p://jmather.com  
  12. MVCS   •  Model   •  View   •  Controller

      •  Service   I’m  always  heavy-­‐ish   Jacob  Mather   @thejmather   h-p://jmather.com  
  13. Pa-erns  You  May  Have  Seen   •  Composite  Pa-ern  

    •  Decorator  Pa-ern   •  Proxy  Pa-ern   •  Iterator  Pa-ern   •  Observer  Pa-ern   •  Strategy  Pa-ern   •  Singleton  Pa-ern   Jacob  Mather   @thejmather   h-p://jmather.com  
  14. Pa-erns  You  May  Have  Seen   •  Composite  Pa-ern  

    •  Decorator  Pa-ern   •  Proxy  Pa-ern   •  Iterator  Pa-ern   •  Observer  Pa-ern   •  Strategy  Pa-ern   •  Singleton  Pa-ern   Jacob  Mather   @thejmather   h-p://jmather.com  
  15. Pa-erns  You  May  Have  Seen   •  Composite  Pa-ern  

    •  Decorator  Pa-ern   •  Proxy  Pa-ern   •  Iterator  Pa-ern   •  Observer  Pa-ern   •  Strategy  Pa-ern   •  Singleton  Pa-ern   Jacob  Mather   @thejmather   h-p://jmather.com  
  16. Pa-erns  You  May  Have  Seen   •  Composite  Pa-ern  

    •  Decorator  Pa-ern   •  Proxy  Pa-ern   •  Iterator  Pa-ern   •  Observer  Pa-ern   •  Strategy  Pa-ern   •  Singleton  Pa-ern   Jacob  Mather   @thejmather   h-p://jmather.com  
  17. Pa-erns  You  May  Have  Seen   •  Composite  Pa-ern  

    •  Decorator  Pa-ern   •  Proxy  Pa-ern   •  Iterator  Pa-ern   •  Observer  Pa-ern   •  Strategy  Pa-ern   •  Singleton  Pa-ern   Jacob  Mather   @thejmather   h-p://jmather.com  
  18. Pa-erns  You  May  Have  Seen   •  Composite  Pa-ern  

    •  Decorator  Pa-ern   •  Proxy  Pa-ern   •  Iterator  Pa-ern   •  Observer  Pa-ern   •  Strategy  Pa-ern   •  Singleton  Pa-ern   Jacob  Mather   @thejmather   h-p://jmather.com  
  19. Pa-erns  You  May  Have  Seen   •  Composite  Pa-ern  

    •  Decorator  Pa-ern   •  Proxy  Pa-ern   •  Iterator  Pa-ern   •  Observer  Pa-ern   •  Strategy  Pa-ern   •  Singleton  Pa-ern   Jacob  Mather   @thejmather   h-p://jmather.com  
  20. Pa-erns  You  May  Have  Seen   •  Composite  Pa-ern  

    •  Decorator  Pa-ern   •  Proxy  Pa-ern   •  Iterator  Pa-ern   •  Observer  Pa-ern   •  Strategy  Pa-ern   •  Singleton  Pa-ern   Jacob  Mather   @thejmather   h-p://jmather.com  
  21. Jacob  Mather   @thejmather   h-p://jmather.com   <?php  end();