An open API service indexing awesome lists of open source software.

https://github.com/joshnuss/design-patterns-in-elixir

Common design patterns applied in Elixir
https://github.com/joshnuss/design-patterns-in-elixir

design-patterns elixir learning

Last synced: 17 days ago
JSON representation

Common design patterns applied in Elixir

Awesome Lists containing this project

README

        

Design Patterns in Elixir
------------------------------

This a collection of common design patterns you might be familiar with, converted to Elixir.

Pull requests are very welcome!

# Patterns

- [Builder](https://github.com/joshnuss/design-patterns-in-elixir/tree/master/builder)
- [Commands](https://github.com/joshnuss/design-patterns-in-elixir/tree/master/commands)
- [Composite](https://github.com/joshnuss/design-patterns-in-elixir/tree/master/composite)
- [Factory](https://github.com/joshnuss/design-patterns-in-elixir/tree/master/factory)
- [Facade](https://github.com/joshnuss/design-patterns-in-elixir/tree/master/facade)
- [Observer](https://github.com/joshnuss/design-patterns-in-elixir/tree/master/observer)
- [Proxy](https://github.com/joshnuss/design-patterns-in-elixir/tree/master/proxy)
- [Singleton](https://github.com/joshnuss/design-patterns-in-elixir/tree/master/singleton)
- [Strategy](https://github.com/joshnuss/design-patterns-in-elixir/tree/master/strategy)
- [Template Method](https://github.com/joshnuss/design-patterns-in-elixir/tree/master/template_method)

## Caveats

Remember that design patterns are only a guide.
Don't impose design patterns on your systems.
Design should surface organically.

Always use the terminology of your domain. Avoid using terms like "Factory", "Strategy", etc.. in your code, it's too ambiguous.

## License

MIT

## Contributors

Joshua Nussbaum