Exploring design patterns in Elixir

I don’t disagree as being a good place to start, and for example, the documentation on gen_statem is pretty good, but I have the feeling this is too specific to elixir/erlang and too low level.

What I’m trying to collect is a bit higher level patterns and their applicability, pros, cons, and general notes on each of those patterns. For example, the Circuit breaker pattern has clear applicability when having to rely on external services or even local services but built in a different language which could common cases on certain implementations.

Event Sourcing/CQRS has value if high traceability / detailed audit logs are required like for example an Order Management System or Inventory tracking.

State pattern via GenStateMachine might highly applicable for things like booking engines or shopping cart.

Other patterns that are more microservice specific like Sagas might be also applicable for larger systems.

I have seen the implementation of singletons in elixir but I’m undecided if those make sense.

This is really interesting, and I hadn’t heard about it before. Thank you for the links.