Design patterns provide solutions to commonly occurring problems. "[Software design] Patterns are formalized best practices that the programmer can use to solve common problems when designing an application or system." 1
While the techniques, solutions, and best practices highlighted here are rooted in the Ruby language, the intention is to provide utility to any software developer writing in any language.
This is 100% inspired by the concepts outlined in Russ Olsen's excellent Design Patterns In Ruby book. I highly recommend picking it up.
- Template Method Pattern
- Strategy Pattern
- Observer Pattern
- Composite Pattern
- Iterator Pattern
- Command Pattern
- Adapter Pattern
- Proxy Pattern
- Decorator Pattern
- Singleton Pattern
- Factory Pattern
- Builder Pattern
- Interpreter Pattern
Feel free to contribute if you find any glaring mistakes, poor code examples, or anything else that needs fixing.
- Fork this repo
- Commit changes on a feature branch
- Submit pull request [your-feature-branch -> pruett/ruby-patterns/master]
Or simply open up an issue.
Thanks!