Elegant Objects - Couverture souple

Livre 1 sur 2: Elegant Objects

Bugayenko, Yegor

 
9781519166913: Elegant Objects

Synopsis

Most programmers believe they understand object-oriented programming. It is taught in universities and programming courses, and nearly every developer has encountered it early in their career. Given the number of books already written on the subject, another one may seem unnecessary. Yet the interpretation of OOP commonly presented in schools and classical texts often fails to help programmers produce maintainable software.

The usual process looks familiar. We begin by creating classes and objects, following the patterns recommended in textbooks. Over time we extend them with additional behavior. The classes grow, responsibilities accumulate, and the design gradually loses its structure. What started as a clean architecture becomes difficult to maintain and nearly impossible to test. Eventually the codebase turns into a ball of mud, motivation declines, and the temptation appears to start again from scratch—hoping that the next design will remain clean. Within a few months, the same pattern repeats.

This book, the first in a series, argues that the problem lies in the traditional interpretation of object-oriented programming. It proposes a different understanding of what an object is and how objects should relate to each other. Among its central claims are that object attributes must be immutable, and that constructs such as static methods and NULL references undermine sound object design.

Despite these strong positions, the book is not theoretical. Each idea is illustrated through practical examples written in Java, demonstrating how the concepts translate into everyday programming.

If you read the book from beginning to end, your perspective on object-oriented programming may change substantially. The way you structure classes, design interactions between objects, and reason about software architecture will likely shift. That change may even create disagreements with colleagues who follow more conventional approaches. Proceed carefully—and enjoy the process of writing code.

Les informations fournies dans la section « Synopsis » peuvent faire référence à une autre édition de ce titre.

À propos de l?auteur

Yegor is a CTO and co-founder of Teamed.io, a software development company with a unique approach to management of distributed teams; a regular blogger at www.yegor256.com; a proud holder of PMP and OCMEA certifications; a hands-on Java developer and a lead architect of a few popular open source projects, including jcabi.com, takes.org, rultor.com and qulice.com. Yegor lives in Palo Alto, CA and Kyiv, Ukraine.

Les informations fournies dans la section « A propos du livre » peuvent faire référence à une autre édition de ce titre.