Like @scottming mentioned
This book is excellent and sort of on the topic Designing Elixir Systems with OTP: Write Highly Scalable, Self-Healing Software with Layers by James Edward Gray, II and Bruce A. Tate
It does not give you a long list of patterns that you can name and say that you know. But it does give some very practical step-by-step guidelines with examples of how to design software with Elixir.
Like OOP design patterns, the book’s content is better consumed as ideas that you can safely ignore in some situations but can help you work toward simpler, more extensible/testable/maintainable code.
Some things probably apply in every situation I can think of, for example: “Try to keep the bulk of your complexity in modules with as-pure-as-possible functions and keep your process machinery (Genservers, etc.) as thin as possible.”






















