Latest version:
Tramway SDK 0.0.9
Github
Quick links
Home
Get Started

Design Patterns Used


When all of the patterns get used I will rename the project to reflect the fact that it has turned into an OOP heap.

Pattern Where is it used?
Abstract factory Not used.
Builder Not used.
Factory method Used all over the place.
Prototype Used in the level editor for objects. Some objects can be cloned.
Singleton PoolProxy class is used to force a single Pool template instantiation per type.
Adapter There's probably some adapters in there, but can't remember a specific example.
Bridge Definitely somewhere in there.
Composite Used for level editor objects.
Decorator Used for scripting API.
Facade Used for the file abstraction.
Flyweight Dynamically created collisionshapes use the same underlying object if their types and dimensions are the same.
Proxy Used by some resources.
Chain of responsiblity Not used.
Command Messages are essentially commands.
Interpreter Used by the quest extension for nocode scripting.
Iterator Used all over the place.
Mediator Not used.
Memento Used for undo/redo functionality in the level editor.
Observer Event listeners are essentially observers.
State Used for tools in the level editor.
Strategy Used by the file abstraction.
Template method Used by resources, entities and entity components for their life cycles and stuff.
Visitor Probably used somewhere in there.