Rating:

Author: Sandi Metz
ISBN : B0096BYG7C
New from $17.99
Format: PDF
You can download Free Practical Object-Oriented Design in Ruby: An Agile Primer from 4shared, mediafire, hotfile, and mirror link
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
Direct download links available for Free Practical Object-Oriented Design in Ruby: An Agile Primer
- File Size: 6023 KB
- Print Length: 272 pages
- Simultaneous Device Usage: Up to 5 simultaneous devices, per publisher limits
- Publisher: Addison-Wesley Professional; 1 edition (September 5, 2012)
- Sold by: Amazon Digital Services, Inc.
- Language: English
- ASIN: B0096BYG7C
- Text-to-Speech: Enabled
X-Ray:
- Lending: Not Enabled
- Amazon Best Sellers Rank: #34,501 Paid in Kindle Store (See Top 100 Paid in Kindle Store)
- #1
in Kindle Store > Kindle eBooks > Computers & Technology > Programming > Ruby - #2
in Books > Computers & Technology > Programming > Languages & Tools > Ruby - #27
in Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Object-Oriented Design
- #1
in Kindle Store > Kindle eBooks > Computers & Technology > Programming > Ruby - #2
in Books > Computers & Technology > Programming > Languages & Tools > Ruby - #27
in Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Object-Oriented Design
Free Practical Object-Oriented Design in Ruby: An Agile Primer
This is my favorite tech read so far this year. It takes a straight-forward approach to writing code that you won't hate yourself for a day or month or year later.
The term "design" in the title is not referring to making wild speculative guesses about the future and planning for any number of contingencies, it is about arranging the code so that it is understandable, and to minimize cost and pain.
There is a focus on designing the communication between objects as much as focusing on the structure of the objects themselves, which I found to be extremely interesting. This discussion helped clarify a lot of thoughts and ideas about abstractions and where responsibilities belong, as well as the directions of dependencies -- things that had been rattling around in my brain for a while but that I had trouble applying in the real world. Reading this let me put all these pieces together (and then some) into a coherent whole. Or at least a coherent seed of a whole.
The code examples are simple, but the author manages to wrangle some serious dramatic tension out of every line of code, and they illustrate the concepts covered well enough that I was able to make the leap to applying the concepts in much more complex code bases.
The chapter on testing was sublime. It took an immensely practical approach to which methods to test and which tests to write in order to avoid duplication and brittleness in both tests and designs.
I also appreciated that none of the discussions were about any sort of moral superiority. The discussions were about getting things done.
In short, this is in my top five programming books I've ever read. Please do not hesitate, do everyone that works with your code (especially yourself) a favor and read it.
I believe that in 20 years, this will be considered one of the definitive works on Object-Oriented Programming. The author provides a smooth on-ramp from basic OO programming principles, and builds on it until you're able to understand the kinds of lessons that normally only come from decades of day-in, day-out experience working in OO code.
What's unusual about this book?
- It reads your mind.
The author takes enormous care to empathize with the reader. Many times, you'll find yourself reading and thinking something, only to read "you're probably thinking at this point..." with your exact thought or concern.
- The author is okay with sounding like a human being.
The author's colloquial style peeks through over and over again. I kept getting caught off guard by delightful little turns of phrase that one does not see often in programming books.
- The lessons are grounded in reality.
Since Ms. Metz keeps the examples surprisingly close to production code (though a somewhat simplified version), you don't have to reach very far to figure out how you'd apply these lessons. Examples aren't contrived to prove a point, they are real-life situations that demand a solution, which always seems to be presented at just the right time. While reading, you'll find yourself exclaiming when she pinpoints the exact source of pain that you run into frequently.
- Sections end, rather than begin, with a principle.
This is the first book about Object-Oriented design I've read that doesn't clobber you over the head with jargon or come in with a top-down approach.
Download Link 1