/
Patterns

Patterns


About


Design patterns



DefinitionExampleLinks
AdapterEnable incompatible interfaces to interoperatePlug an older object into a newer systemAdapter vs Bridge
Wikipedia
BridgeEnable separation by connecting heirarchies of classes to enable both to vary independently
(avoids a combinatorial explosion as well)
  • recommended - avoid compile time dependency between the two
  • ^programmatic definition, no client/server conceptualisation
Shapes and Drawing APIs, Devices and PlatformsAdapter vs Bridge
Wikipedia
Gateway

Either API gateway (by service provider) or application gateway (by client)

  • minimise latency in calls to subsystems by centralising it in one place
  • can play an orchestration role
  • handle cross-cutting concerns across subsystems
  • translate vocabularies between client and service
  • can be adapter, facade, mediator

Fowler
FacadeSimplified interface to a complex systemHigher level entry point to e.g. posix serial apiWikipedia
ProxySubstitute or extend a real object's interfaceMocking a robot system for simulationWikipedia

Related content

Actions
More like this
Programming Behaviours
Programming Behaviours
More like this
Drake Systems
Drake Systems
More like this
Rclpy
More like this
Rclcpp
More like this
Local Planning
Local Planning
More like this