Practical Object-oriented Design In Ruby

The Web is awash in Ruby code that is now virtually impossible to change or extend. This text helps you solve that problem by using powerful real-world object-oriented design techniques, which it thoroughly explains using simple and practical Ruby examples. The Web is awash in Ruby code that is now virtually impossible to change or extend. This text helps you solve that problem by using powerful real-world object-oriented design techniques, thoroughly explained via simple and practical Ruby examples.

Jul 02, 2012  This is a good book for learning about object oriented design using the Ruby programming language. From a pragmatic point of view, it could be better with some exercises; but from a conceptual one it's great. This is my chapter by chapter notes on Sandi Metz' Practical Object Oriented Design in Ruby. If you can improve/extend the notes, please do!

While the industry moves more towards Functional Programming Paradigms and away from Object-Oriented Thinking, Sandi Metz's book, Practical Object-Oriented Design in Ruby, published in 2012, still stands the test of time with OOP best-practices. This video is about POODR Chapter 1 where we talk about what object-oriented programming is, why it's important, and the design process.

Home > Store

Share

Register your product to gain access to bonus material or receive a coupon.

  • By Sandi Metz
  • Published Sep 5, 2012 by Addison-Wesley Professional. Part of the Addison-Wesley Professional Ruby Series series.

Best Value Purchase

Book + eBook Bundle

Practical Object-oriented Design In Ruby
  • Your Price: $48.59
  • List Price: $80.98
  • Includes EPUB, MOBI, and PDF
  • This eBook includes the following formats, accessible from your Account page after purchase:

    EPUBThe open industry format known for its reflowable content and usability on supported mobile devices.

    MOBIThe eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

    PDFThe popular standard, used most often with the free Adobe® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.

More Purchase Options

Book

  • Your Price: $35.99
  • List Price: $44.99
  • Usually ships in 24 hours.

eBook (Watermarked)

  • Your Price: $28.79
  • List Price: $35.99
  • Includes EPUB, MOBI, and PDF
  • This eBook includes the following formats, accessible from your Account page after purchase:

    EPUBThe open industry format known for its reflowable content and usability on supported mobile devices.

    MOBIThe eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

    PDFThe popular standard, used most often with the free Adobe® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.

Description

  • Copyright 2013
  • Dimensions: 7' x 9-1/8'
  • Pages: 272
  • Edition: 1st
  • Book
  • ISBN-10: 0-321-72133-0
  • ISBN-13: 978-0-321-72133-4

The Complete Guide to Writing More Maintainable, Manageable, Pleasing, and Powerful Ruby Applications

Ruby’s widely admired ease of use has a downside: Too many Ruby and Rails applications have been created without concern for their long-term maintenance or evolution. The Web is awash in Ruby code that is now virtually impossible to change or extend. This text helps you solve that problem by using powerful real-world object-oriented design techniques, which it thoroughly explains using simple and practical Ruby examples.

Sandi Metz has distilled a lifetime of conversations and presentations about object-oriented design into a set of Ruby-focused practices for crafting manageable, extensible, and pleasing code. She shows you how to build new applications that can survive success and repair existing applications that have become impossible to change. Each technique is illustrated with extended examples, all downloadable from the companion Web site, poodr.info.

The first title to focus squarely on object-oriented Ruby application design, Practical Object-Oriented Design in Ruby will guide you to superior outcomes, whatever your previous Ruby experience. Novice Ruby programmers will find specific rules to live by; intermediate Ruby programmers will find valuable principles they can flexibly interpret and apply; and advanced Ruby programmers will find a common language they can use to lead development and guide their colleagues.

This guide will help you

  • Understand how object-oriented programming can help you craft Ruby code that is easier to maintain and upgrade
  • Decide what belongs in a single Ruby class
  • Avoid entangling objects that should be kept separate
  • Define flexible interfaces among objects
  • Reduce programming overhead costs with duck typing
  • Successfully apply inheritance
  • Build objects via composition
  • Design cost-effective tests
  • Solve common problems associated with poorly designed Ruby code

Extras

Related Article

Author's Site

Author suggested site: sandimetz.com

Sample Content

Online Sample Chapter

Sample Pages

Download the sample pages (includes Chapter 3 and Index)

Table of Contents

Foreword xv

Introduction xvii

Acknowledgments xxi

About the Author xxiii

Chapter 1: Object-Oriented Design 1

In Praise of Design 2

Practical Object-oriented Design In Ruby

The Tools of Design 4

The Act of Design 7

A Brief Introduction to Object-Oriented Programming 11

Summary 14

Chapter 2: Designing Classes with a Single Responsibility 15

Deciding What Belongs in a Class 16

Grouping Methods into Classes 16

Organizing Code to Allow for Easy Changes 16

Creating Classes That Have a Single Responsibility 17

Writing Code That Embraces Change 24

Finally, the Real Wheel 33

Summary 34

Chapter 4: Creating Flexible Interfaces 59

Understanding Interfaces 59

Defining Interfaces 61

Public Interfaces 62

Private Interfaces 62

Responsibilities, Dependencies, and Interfaces 62

Finding the Public Interface 63

Writing Code That Puts Its Best (Inter)Face Forward 76

The Law of Demeter 80

Summary 83

Chapter 8: Combining Objects with Composition 163

Composing a Bicycle of Parts 164

Composing the Parts Object 168

Manufacturing Parts 176

The Composed Bicycle 180

Deciding Between Inheritance and Composition 184

Design

Summary 190 The witcher enhanced edition torrent mac free.

Poodr

  • Request an Instructor or Media review copy.

Other Things You Might Like

  • Book $50.99
  • Book $39.99
  • Book $39.99

The Complete Guide to Writing More Maintainable, Manageable,Pleasing, and Powerful Ruby Applications

Ruby’s widely admired ease of use hasa downside: Too many Ruby and Rails applications have been createdwithout concern for their long-term maintenance or evolution. TheWeb is awash in Ruby code that is now virtually impossible tochange or extend. This text helps you solve that problem by usingpowerful real-world object-oriented design techniques, which itthoroughly explains using simple and practical Ruby examples.

Sandi Metz has distilled a lifetime ofconversations and presentations about object-oriented design into aset of Ruby-focused practices for crafting manageable, extensible,and pleasing code. She shows you how to build new applications thatcan survive success and repair existing applications that havebecome impossible to change. Each technique is illustrated withextended examples, all downloadable from the companion Web site,poodr.info.

The first title to focus squarely onobject-oriented Ruby application design, PracticalObject-Oriented Design in Ruby will guide you to superioroutcomes, whatever your previous Ruby experience. Novice Rubyprogrammers will find specific rules to live by; intermediate Rubyprogrammers will find valuable principles they can flexiblyinterpret and apply; and advanced Ruby programmers will find acommon language they can use to lead development and guide theircolleagues.

Object Oriented Design Principles

This guide will help you

Practical Object-oriented Design In Ruby Pdf

Understand how object-oriented programming can help you craftRuby code that is easier to maintain and upgrade

Decide what belongs in a single Ruby class

Avoid entangling objects that should be kept separate

Define flexible interfaces among objects

Practical Object-oriented Design In Ruby

Reduce programming overhead costs with duck typing

Successfully apply inheritance

Build objects via composition

Design cost-effective tests

Solve common problems associated with poorly designed Rubycode

Comments are closed.