Practical object-oriented design in Ruby : an Agile primer (Book, 2013) []
skip to content
Practical object-oriented design in Ruby : an Agile primer Preview this item
ClosePreview this item

Practical object-oriented design in Ruby : an Agile primer

Author: Sandi Metz
Publisher: Upper Saddle River, NJ : Addison-Wesley, 2013.
Series: Addison-Wesley professional ruby series
Edition/Format:   Print book : EnglishView all editions and formats

(not yet rated) 0 with reviews - Be the first.

More like this

Find a copy online

Find a copy in the library

&AllPage.SpinnerRetrieving; Finding libraries that hold this item...


Material Type: Internet resource
Document Type: Book, Internet Resource
All Authors / Contributors: Sandi Metz
ISBN: 9780321721334 0321721330
OCLC Number: 814443992
Description: 247 Seiten : Illustrationen.
Contents: Foreword xv Introduction xvii Acknowledgments xxi About the Author xxiii Chapter 1: Object-Oriented Design 1 In Praise of Design 2 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 3: Managing Dependencies 35 Understanding Dependencies 36 Writing Loosely Coupled Code 39 Managing Dependency Direction 51 Summary 57 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 5: Reducing Costs with Duck Typing 85 Understanding Duck Typing 85 Writing Code That Relies on Ducks 95 Conquering a Fear of Duck Typing 100 Summary 104 Chapter 6: Acquiring Behavior Through Inheritance 105 Understanding Classical Inheritance 105 Recognizing Where to Use Inheritance 106 Misapplying Inheritance 114 Finding the Abstraction 116 Managing Coupling Between Superclasses and Subclasses 129 Summary 139 Chapter 7: Sharing Role Behavior with Modules 141 Understanding Roles 142 Writing Inheritable Code 158 Summary 162 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 Summary 190 Chapter 9: Designing Cost-Effective Tests 191 Intentional Testing 192 Testing Incoming Messages 200 Testing Private Methods 213 Testing Outgoing Messages 215 Testing Duck Types 219 Testing Inherited Code 229 Summary 240 Afterword 241 Index 243
Series Title: Addison-Wesley professional ruby series
Responsibility: Sandi Metz.


Editorial reviews

Publisher Synopsis

"This is great stuff! Your descriptions are so vibrant and vivid that I'm rediscovering the truth buried in OO principles that are otherwise so internalized that I forget to explore them. Your Read more...

User-contributed reviews
Retrieving GoodReads reviews...
Retrieving DOGObooks reviews...


Be the first.
Confirm this request

You may have already requested this item. Please select Ok if you would like to proceed with this request anyway.

Close Window

Please sign in to WorldCat 

Don't have an account? You can easily create a free account.