You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Summary of the design patterns explained in the book Design Patterns in Ruby, where Russ Olsen explains and adapts to Ruby 14 of the original 23 GoF design patterns.
Design Patterns
GoF Patterns
Adapter: helps two incompatible interfaces to work together
Builder: create complex objects that are hard to configure
Command: performs some specific task without having any information about the receiver of the request
Composite: builds a hierarchy of tree objects and interacts with all them the same way
Decorator: vary the responsibilities of an object adding some features
Factory: create objects without having to specify the exact class of the object that will be created
Interpreter: provides a specialized language to solve a well defined problem of know domain
Iterator: provides a way to access a collection of sub-objects without exposing the underlying representation
Observer: helps building a highly integrated system, maintainable and avoids coupling between classes
Proxy: allows us having more control over how and when we access to a certain object
Singleton: have a single instance of certain class across the application
Meta-Programming: gain more flexibility when defining new classes and create custom tailored objects on the fly.
Contributing
Contributions are welcome! What could you do?:
Find typos and grammar mistakes
Propose a better way to explain a pattern
Add clearer examples of a pattern usage
Add other GoF patterns that are not covered in the book
Code examples refactoring PR's will not be considered. The examples provided by Russ Olsen in his book are meant to be simple and self explanatory, not the best performing or most elegant, their purpose is just educational.