Index
A
- abstract factory pattern
- about / The abstract factory pattern
- roles / Roles
- use cases / Roles
- design / Design
- participants / Participants
- Abstract Factory class / Participants
- ConcreteFactory2 class / Participants
- ConcreteFactory1 class / Participants
- IProductA class / Participants
- IProductB class / Participants
- ProductB class / Participants
- ProductA class / Participants
- collaborations / Collaborations
- illustration / Illustration
- implementation / Implementation
- usage / Usage
- adapter pattern
- about / The adapter pattern
- roles / Roles
- design / Design
- participants / Participants
- ITarget / Participants
- Client / Participants
- Adapter / Participants
- Adaptee / Participants
- collaboration / Collaboration
- illustration / Illustration
- first prototype, implementing / Implementing our first prototype
- implementation / Implementation
- adaptees, implementing / Implementation of our adaptees
- SamSingAdapter class, implementing / Implementation of the SamSingAdapter class
- PearAdapter class, implementing / Implementation of the PearAdapter class
- assert
- AudioPlayerOffCommand class / Implementation
- AudioPlayerOnCommand class / Implementation
- AudioPlayerPlayCdCommand class / Implementation
- AudioPlayerStopCDCommand class / Implementation
B
- behavioral patterns
- strategy pattern / The strategy pattern
- state pattern / The state pattern
- template method / The template method
- chain of responsibility pattern / The chain of responsibility pattern
- command pattern / The command pattern
- iterator pattern / The iterator pattern
- mediator pattern / The mediator pattern
- observer pattern / The observer pattern
- visitor pattern / The visitor pattern
- interpreter pattern / The interpreter pattern
- memento pattern / The memento pattern
- comparing / Comparing the three patterns
- bridge pattern
- about / Static and dynamic composition, The bridge pattern
- role / Roles
- use cases / Roles
- design / Design
- participants / Participants
- AbstractClass / Participants
- ConcreteClass / Participants
- ImplementationBase class / Participants
- ConcreteImplementationA (B ) / Participants
- collaboration / Collaboration
- illustration / Illustration
- implementation / Implementation
- usage / Usage
- builder pattern
- about / The builder pattern
- roles / Roles
- use cases / Roles
- design / Design
- participants / Participants
- collaborations / Collaborations
- illustration / Illustration
- implementation / Implementation
- usage / Usage
- implementation, closures used / Implementation using closures
C
- chain of responsibility pattern
- roles / Roles
- use cases / Roles
- design / Design
- participants / Participants
- AbstractHandler / Participants
- ConcreteHandlers / Participants
- Client / Participants
- collaboration / Collaboration
- illustration / Illustration
- implementation / Implementation
- versus command pattern / Comparison between the chain of responsibility and command patterns
- CheckPoint class / Implementation
- command pattern
- about / The command pattern
- roles / Roles
- features / Roles
- design / Design
- participants / Participants
- Command / Participants
- ConcreteCommand / Participants
- Client / Participants
- Invoker / Participants
- Receiver / Participants
- collaboration / Collaboration
- illustration / Illustration
- implementation / Implementation
- composite pattern
- about / The composite pattern
- roles / Roles
- design / Design
- participants / Participants
- Component class / Participants
- Leaf class / Participants
- Composite class / Participants
- Client class / Participants
- collaboration / Collaboration
- illustration / Illustration
- implementation / Implementation
- VODComponent Component, implementing / Implementation of the VODComponent
- VODItem leaf, implementing / Implementation of the VODItem leaf
- VODCategory composite, implementing / Implementation of the VODCategory composite
- usage / Usage
- creational patterns
- prototype pattern / The prototype pattern
- factory method pattern / The factory method pattern
- singleton pattern / The singleton pattern
- abstract factory pattern / The abstract factory pattern
- builder pattern / The builder pattern
D
- decorator pattern
- about / Static and dynamic composition, The decorator pattern
- role / Roles
- use cases / Roles
- design / Design
- participants / Participants
- AbstractComponent / Participants
- ConcreteComponent / Participants
- AbstractDecorator / Participants
- ConcreteDecoratorA / Participants
- ConcreteDecoratorB / Participants
- collaboration / Collaboration
- sample / Sample
- implementation / Implementation
- usage / Usage
- Double Dispatch / Implementation
- dynamic composition
- about / Static and dynamic composition
F
- facade pattern
- about / The facade pattern
- role / Roles
- use cases / Roles
- design / Design
- participants / Participants
- collaboration / Collaboration
- illustration / Illustration
- implementation / Implementation of the facade
- factories
- about / The abstract factory pattern
- factory method pattern
- roles / Roles
- use cases / Roles
- design / Design
- Product interface class / Participants
- Abstract product class / Participants
- Concrete product class / Participants
- Concrete creator class / Participants
- illustration / Illustration
- flyweight pattern
- about / The flyweight pattern
- role / Roles
- use cases / Roles
- design / Design
- Flyweight / Participants
- FlyweightFactory / Participants
- Client / Participants
- collaboration / Collaboration
- illustration / Illustration
- implementation / Implementation
- performance results / Performance results
- func message( ) function / Implementation
- func nextHandler( ) function / Implementation
I
- interpreter pattern
- about / The interpreter pattern
- roles / Roles
- design / Design
- participants / Participants
- AbstractExpression / Participants
- TerminalExpression / Participants
- NonTerminalExpression / Participants
- Context / Participants
- Client / Participants
- collaboration / Collaboration
- illustration / Illustration
- implementation / Implementation
- iterator pattern
- about / The iterator pattern
- roles / Roles
- design / Design
- participants / Participants
- Collection class / Participants
- ConcreteCollection class / Participants
- Iterator class / Participants
- ConcreteIterator class / Participants
- Item class / Participants
- ConcreteItem class / Participants
- collaboration / Collaboration
- illustration / Illustration
- implementation / Implementation
- IVisitor / Roles
M
- Mask variable / Implementation
- mediator pattern
- about / The mediator pattern
- roles / Roles
- design / Design
- participants / Participants
- Mediator / Participants
- Elements / Participants
- ConcreteElement2 / Participants
- ConcreteElement1 / Participants
- collaboration / Collaboration
- illustration / Illustration
- implementation / Implementation
- memento pattern
- about / The memento pattern
- roles / Roles
- design / Design
- participants / Participants
- Memento / Participants
- Originator / Participants
- caretaker / Participants
- CreateMemento / Participants
- SetMemento / Participants
- collaboration / Collaboration
- illustration / Illustration
- implementation / Implementation
N
- Next variable / Implementation
O
- observer pattern
- about / The observer pattern
- roles / Roles
- design / Design
- participants / Participants
- Subject / Participants
- ConcreteSubject / Participants
- Observer / Participants
- ConcreteObserver1 / Participants
- ConcreteObserver2 / Participants
- collaboration / Collaboration
- illustration / Illustration
- implementation / Implementation
P
- prepareDefaultChain( ) function / Implementation
- prototype pattern
- about / The prototype pattern
- roles / Roles
- use cases / Roles
- design / Design
- Client class / Participants
- AbstractPrototype class / Participants
- ConcretePrototype2 class / Participants
- ConcretePrototype1 class / Participants
- collaborations / Collaborations
- illustration / Illustration
- usage / Usage
- proxy pattern
- about / Static and dynamic composition, The proxy pattern
- role / Roles
- virtual proxy / Roles
- remote proxy / Roles
- authentication proxy / Roles
- design / Design
- participants / Participants
- ISubject / Participants
- RealSubject / Participants
- Proxy / Participants
- collaboration / Collaboration
- illustration / Illustration
- implementation / Implementation
- usage / Usage
S
- singleton pattern
- about / The singleton pattern
- roles / Roles
- design / Design
- participants / Participants
- collaborations / Collaborations
- illustration / Illustration
- implementation / Implementation
- usage / Usage
- state pattern
- about / The state pattern
- role / Role
- design / Design
- participants / Participants
- StateMachine class / Participants
- IState class / Participants
- ConcreteStateA class / Participants
- ConcreteStateB class / Participants
- collaboration / Collaboration
- illustration / Illustration
- implementation / Implementation
- static composition
- about / Static and dynamic composition
- strategy pattern
- about / The strategy pattern
- roles / Roles
- design / Design
- participants / Participants
- IStrategy class / Participants
- ConcreteStrategyA class / Participants
- ConcreteStrategyB class / Participants
- ClassUsingStrategyB class / Participants
- ClassUsingStrategyA class / Participants
- collaboration / Collaboration
- illustration / Illustration
- implementation / Implementation
- structural patterns
- decorator pattern / Static and dynamic composition, The decorator pattern
- proxy pattern / Static and dynamic composition, The proxy pattern
- bridge pattern / Static and dynamic composition, The bridge pattern
- composite pattern / The composite pattern
- flyweight pattern / The flyweight pattern
- adapter pattern / The adapter pattern
- facade pattern / The facade pattern
T
- template method
- about / The template method
- role / Role
- design / Design
- participants / Participants
- collaboration / Collaboration
- illustration / Illustration
- implementation / Implementation
V
- Video on demand (VOD) / Illustration
- visitor pattern
- about / The visitor pattern
- roles / Roles
- design / Design
- participants / Participants
- Visitor / Participants
- ConcreteVisitors / Participants
- Element / Participants
- ConcreteElements / Participants
- collaboration / Collaboration
- illustration / Illustration
- implementation / Implementation
W
- writeMessage( ) function / Implementation