Books & Videos

Table of Contents

  1. Easing into the Fundamentals of Design Patterns

    1. Chapter 1 PHP and Object-Oriented Programming

      1. Entering into Intermediate and Advanced Programming
      2. Why Object-Oriented Programming?
      3. Classes and Objects
      4. The Client as a Requester Class
      5. What About Speed?
      6. What’s Wrong with Sequential and Procedural Programming?
    2. Chapter 2 Basic Concepts in OOP

      1. Abstraction
      2. Encapsulation
      3. Inheritance
      4. Polymorphism
      5. Easy Does It
    3. Chapter 3 Basic Design Pattern Concepts

      1. The MVC Loosens and Refocuses Programming
      2. Basic Principles of Design Patterns
      3. Design Patterns as a Big Cheat Sheet
      4. Choosing a Design Pattern
    4. Chapter 4 Using UMLs with Design Patterns

      1. Why Unified Modeling Language (UML)?
      2. Class Diagrams
      3. Participant Symbols
      4. Relationship Notations
      5. Object Diagrams
      6. Interaction Diagrams
      7. The Role of Diagrams and Notations in Object-Oriented Programming
      8. Tools for UMLs
      9. Other UMLs
  2. Creational Design Patterns

    1. Chapter 5 Factory Method Design Pattern

      1. What Is the Factory Method Pattern?
      2. When to Use the Factory Method
      3. A Minimalist Example
      4. Accommodating Class Changes
    2. Chapter 6 Prototype Design Pattern

      1. What Is the Prototype Design Pattern?
      2. When to Use the Prototype Pattern
      3. The Clone Function
      4. A Minimalist Prototype Example
      5. Adding OOP to the Prototype
      6. The Prototype in PHP Land
  3. Structural Design Patterns

    1. Chapter 7 The Adapter Pattern

      1. What Is the Adapter Pattern?
      2. When to Use the Adapter Pattern
      3. The Adapter Pattern Using Inheritance
      4. The Adapter Pattern Using Composition
    2. Chapter 8 Decorator Design Pattern

      1. What Is the Decorator Pattern?
      2. When to Use the Decorator Pattern
      3. Minimalist Decorator
      4. What About Wrappers?
      5. Decorators with Multiple Components
      6. HTML User Interface (UI)
  4. Behavioral Design Patterns

    1. Chapter 9 The Template Method Pattern

      1. What Is the Template Method Pattern?
      2. When to Use the Template Method
      3. Using the Template Method with Images and Captions: A Minimal Example
      4. The Client
      5. The Hollywood Principle
      6. Using the Template Method with Other Design Patterns
      7. The Factory Method Participants
      8. The Hook in the Template Method Design Pattern
      9. The Small and Mighty Template Method
    2. Chapter 10 The State Design Pattern

      1. What Is the State Pattern?
      2. When to Use the State Pattern?
      3. The State Machine
      4. Light On, Light Off: The Minimal State Design Pattern
      5. Adding States
      6. The Navigator: More Choices and Cells
      7. The State Pattern and PHP
  5. MySQL and PHP Design Patterns

    1. Chapter 11 A Universal Class for Connections and a Proxy Pattern for Security

      1. A Simple Interface and Class for MySQL
      2. The Protection Proxy for Login
      3. The Proxy and Real-World Security
    2. Chapter 12 The Flexibility of the Strategy Design Pattern

      1. Encapsulating Algorithms
      2. A Minimalist Strategy Pattern
      3. Expanded Strategy Pattern with Data Security and Parameterized Algorithms
      4. The Flexible Strategy Pattern
    3. Chapter 13 The Chain of Responsibility Design Pattern

      1. Passing the Buck
      2. The Chain of Responsibility in a MySQL Help Desk
      3. Automated Chain of Responsibility and Factory Method
      4. Ease of Update
    4. Chapter 14 Building a Multidevice CMS with the Observer Pattern

      1. Built-In Observer Interfaces
      2. When to Use the Observer Pattern
      3. Using SPL with the Observer Pattern
      4. Free Range PHP and the Observer Pattern
      5. Making a Simple CMS
      6. Thinking OOP
  1. Colophon