Design Patterns used in the project

Value Object

CollouyBinding is a value object. It's been created, because its constructor arguments always come together. Value object ensures correct types and better interface to retrieve its values than an associative array would be.

Memento

Colloquy uses Memento design pattern to create an object that knows how to save itself and to control when and why should that object save.

alt text

Strategy

Colloquy implements easy driver customisation by using Strategy design pattern.

alt text