No description
  • Java 44.1%
  • C++ 39.7%
  • Python 14.7%
  • CMake 1.5%
Find a file
2021-04-05 23:15:58 +02:00
cpp first version 2020-06-25 10:21:19 +02:00
java add java examples 2020-06-25 16:00:13 +02:00
python first version 2020-06-25 10:21:19 +02:00
README.md add java to the readme 2021-04-05 23:15:58 +02:00

Educational demonstration of several design patterns which may be useful in algorithmics, in several languages.

The algorithms are simple motion planning methods and the patterns are centered on composition. The code demonstrates how to compose either a Dijkstra algorithm, either a fast-marching algorithm, with different neighborhoods for each.

So far, the demo contains:

  • Python:
    • a purely functional pattern (functions which returns parametrized closures),
    • the strategy pattern (composition of abstract interface),
  • C++:
    • purely functional (functions which returns parametrized lambdas),
    • strategy (composition of abstract classes),
    • policies (function parameters as templated variables),
    • CRTP (Curiously Recurring Template Pattern).
  • Java:
    • functional,
    • strategy,
    • CRTP.

The algorithm machinery itself is located within the code.* files and is not of major interest, look for the other files for the architecture.