Git Product home page Git Product logo

design-patterns-ruby's Introduction

Design Patterns for Ruby

Build Status Coverage Status Code Climate


Design Patterns

Design patterns that deal with object creation mechanisms, trying to create objects in a manner suitable to the situation.

  • Abstract Factory - For creating and using families of related/dependent objects
  • Builder - For creating different types of complex objects step by step
  • Factory Method - For creating one type of object out of many which can be used in its place
  • Prototype - Up next.
  • Singleton - Coming soon ( Explain Ruby's singleton too )

Structural Patterns

  • Explain what a Structural Pattern means
  • Add Patterns and links to examples here

Behavioral Patterns

  • Explain what a Behavioral Pattern means
  • Add Patterns and links to examples here

About reading code and running tests

The code is heavily documented, and has 100% test coverage. Browse through the Documentation online. It contains explanations of each pattern example. It's also recommended to go throught the tests in spec/ directory to get an idea of how the examples work.

To run the tests :

bundle install
rake

Contributing

Step 1 : Fork

Step 2 :

  1. Add Ruby examples to Design Patterns.
  2. Each example should have 100% green test coverage.
  3. Each example should have RDocs/YARDocs that explain what each class does.
  4. Each pattern should have its own README.md explaining it.
  5. If there is a Ruby way that bakes in the pattern in the language, do not re-invent the wheel and show the Ruby way. Explain how the example works.

Step 3 : Send a pull request

design-patterns-ruby's People

Contributors

emilsoman avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.