Practical Object-Oriented Design in Ruby: An Agile Primer (Addison-Wesley Professional Ruby Series)

Practical Object-Oriented Design in Ruby: An Agile Primer (Addison-Wesley Professional Ruby Series)

Sandi Metz


the full consultant to Writing extra Maintainable, achievable, entertaining, and robust Ruby purposes

Ruby’s broadly sought after ease of use has a draw back: Too many Ruby and Rails functions were created with no predicament for his or her long term upkeep or evolution. the internet is awash in Ruby code that's now almost very unlikely to alter or expand. this article is helping you clear up that challenge by utilizing strong real-world object-oriented layout suggestions, which it completely explains utilizing basic and functional Ruby examples.

Sandi Metz has distilled a life of conversations and shows approximately object-oriented layout right into a set of Ruby-focused practices for crafting viable, extensible, and enjoyable code. She exhibits you the way to construct new functions that may live on good fortune and service present purposes that experience develop into very unlikely to alter. each one process is illustrated with prolonged examples, all downloadable from the spouse site, poodr.info.

The first identify to concentration squarely on object-oriented Ruby program layout, sensible Object-Oriented layout in Ruby will consultant you to improved results, no matter what your prior Ruby event. amateur Ruby programmers will locate particular ideas to dwell by way of; intermediate Ruby programmers will locate priceless ideas they could flexibly interpret and follow; and complicated Ruby programmers will discover a universal language they could use to steer improvement and consultant their colleagues.

This advisor may help you

Understand how object-oriented programming can assist craft Ruby code that's more straightforward to take care of and improve
Decide what belongs in one Ruby type
Avoid entangling items that are supposed to be stored separate
Define versatile interfaces between gadgets
Reduce programming overhead charges with duck typing
Successfully follow inheritance
Build items through composition
Design not pricey assessments
Solve universal difficulties linked to poorly designed Ruby code

Show sample text content

Download sample