Object technology pioneer Wirfs-Brock teams with expert McKean to present a thoroughly updated, modern, and proven method for the design of software. The book is packed with practical design techniques that enable the practitioner to get the job done.
”Demystifies object-oriented programming, and lays out how to use it to design truly secure and performant applications.” —Charles Soetan, Plum.io Key Features Dozens of techniques for writing object-oriented code that’s easy to read, reuse, and maintain Write code that other programmers will instantly understand Design rules for constructing objects, changing and exposing state, and more Examples written in an instantly familiar pseudocode that’s easy to apply to Java, Python, C#, and any object-oriented language Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About The Book Well-written object-oriented code is easy to read, modify, and debug. Elevate your coding style by mastering the universal best practices for object design presented in this book. These clearly presented rules, which apply to any OO language, maximize the clarity and durability of your codebase and increase productivity for you and your team. In Object Design Style Guide, veteran developer Matthias Noback lays out design rules for constructing objects, defining methods, and much more. All examples use instantly familiar pseudocode, so you can follow along in the language you prefer. You’ll go case by case through important scenarios and challenges for object design and then walk through a simple web application that demonstrates how different types of objects can work together effectively. What You Will Learn Universal design rules for a wide range of objects Best practices for testing objects A catalog of common object types Changing and exposing state Test your object design skills with exercises This Book Is Written For For readers familiar with an object-oriented language and basic application architecture. About the Author Matthias Noback is a professional web developer with nearly two decades of experience. He runs his own web development, training, and consultancy company called “Noback’s Office.” Table of Contents: 1 ¦ Programming with objects: A primer 2 ¦ Creating services 3 ¦ Creating other objects 4 ¦ Manipulating objects 5 ¦ Using objects 6 ¦ Retrieving information 7 ¦ Performing tasks 8 ¦ Dividing responsibilities 9 ¦ Changing the behavior of services 10 ¦ A field guide to objects 11 ¦ Epilogue
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. This book focuses 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
This is both the first authoritative treatment of OOUi and a book which will help designers, developers, analysts, and many others understand and apply object-oriented analysis to user interfaces. Collins delivers a single conceptual model to guide both external and internal design of the user interface. A set of figures, examples, and case studies illustrates the development of new applications and functions & --both stand-alone and integrated & --with existing environments. Throughout, the methodology is grounded in object-oriented principles that are consistent with other object-oriented methodologies for system and database design.
The Complete Guide to Writing Maintainable, Manageable, Pleasing, and Powerful Object-Oriented Applications Object-oriented programming languages exist to help you create beautiful, straightforward applications that are easy to change and simple to extend. Unfortunately, the world is awash with object-oriented (OO) applications that are difficult to understand and expensive to change. Practical Object-Oriented Design, Second Edition, immerses you in an OO mindset and teaches you powerful, real-world, object-oriented design techniques with simple and practical examples. Sandi Metz demonstrates 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 in the easy-to-understand Ruby programming language, all downloadable from the companion website, poodr.com. Fully updated for Ruby 2.5, this guide shows how to Decide what belongs in a single 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 Whatever your previous object-oriented experience, this concise guide will help you achieve the superior outcomes you’re looking for. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
"One of the great things about the book is the way the authors explain concepts very simply using analogies rather than programming examples–this has been very inspiring for a product I'm working on: an audio-only introduction to OOP and software development." –Bruce Eckel "...I would expect that readers with a basic understanding of object-oriented programming and design would find this book useful, before approaching design patterns completely. Design Patterns Explained complements the existing design patterns texts and may perform a very useful role, fitting between introductory texts such as UML Distilled and the more advanced patterns books." –James Noble Leverage the quality and productivity benefits of patterns–without the complexity! Design Patterns Explained, Second Edition is the field's simplest, clearest, most practical introduction to patterns. Using dozens of updated Java examples, it shows programmers and architects exactly how to use patterns to design, develop, and deliver software far more effectively. You'll start with a complete overview of the fundamental principles of patterns, and the role of object-oriented analysis and design in contemporary software development. Then, using easy-to-understand sample code, Alan Shalloway and James Trott illuminate dozens of today's most useful patterns: their underlying concepts, advantages, tradeoffs, implementation techniques, and pitfalls to avoid. Many patterns are accompanied by UML diagrams. Building on their best-selling First Edition, Shalloway and Trott have thoroughly updated this book to reflect new software design trends, patterns, and implementation techniques. Reflecting extensive reader feedback, they have deepened and clarified coverage throughout, and reorganized content for even greater ease of understanding. New and revamped coverage in this edition includes Better ways to start "thinking in patterns" How design patterns can facilitate agile development using eXtreme Programming and other methods How to use commonality and variability analysis to design application architectures The key role of testing into a patterns-driven development process How to use factories to instantiate and manage objects more effectively The Object-Pool Pattern–a new pattern not identified by the "Gang of Four" New study/practice questions at the end of every chapter Gentle yet thorough, this book assumes no patterns experience whatsoever. It's the ideal "first book" on patterns, and a perfect complement to Gamma's classic Design Patterns. If you're a programmer or architect who wants the clearest possible understanding of design patterns–or if you've struggled to make them work for you–read this book.
Targeting the needs of Java application programmers, this book uses an experience-based, hands-on approach. The CD-ROM contains the Code-Warrior Lite multi-platform Integrated Development Environment (IDE) and Borland's JBuilder trial version.
Objects: USA 2020 hails a new generation of artist-craftspeople by revisiting a groundbreaking event that redefined American art. In 1969, an exhibition opened at the Smithsonian Institution that redefined American art. Objects: USA united a cohort of artists inventing new approaches to art-making by way of craft media. Subsequently touring to twenty-two museums across the country, where it was viewed by over half a million Americans, and then to eleven cities in Europe, the exhibition canonized such artists as Anni Albers, Sheila Hicks, Wharton Esherick, Wendell Castle, and George Nakashima, and introduced others who would go on to achieve widespread art-world acclaim, including Dale Chihuly, Michele Oka Doner, J. B. Blunk, and Ron Nagle. Objects: USA 2020 revisits this revolutionary exhibition and its accompanying catalog--which has become a bible of sorts to curators, gallerists, dealers, craftspeople, and artists--by pairing fifty participants from the original exhibition with fifty contemporary artists representing the next generation of practitioners to use--and upend--the traditional methods and materials of craft to create new forms of art. Published to coincide with an exhibition of the same title at the renowned gallery R & Company, and featuring essays by some of the foremost authorities on craft at the intersection of art, including Glenn Adamson, curator and former director of the Museum of Arts & Design; James Zemaitis, curator and former head of twentieth-century design at Sotheby's; and Lena Vigna, curator of exhibitions at the Racine Art Musuem; an interview with Paul J. Smith, the cocurator of Objects: USA; archival photographs of the original exhibition and important historical works; and lush full-color images of contemporary works, Objects: USA 2020 is an essential art historical reference that traces how craft was elevated to the status of museum-quality art, and sets its trajectory forward.
This tutorial-based approach, born out of the author's extensive experience developing software, teaching thousands of students, and critiquing designs in a variety of domains, allows you to apply the guidelines in a personalized manner.