Goodreads helps you keep track of books you want to read.
Start by marking “Elegant Objects” as Want to Read:
Elegant Objects
Enlarge cover
Rate this book
Clear rating
Open Preview

Elegant Objects

4.04  ·  Rating details ·  228 ratings  ·  44 reviews
TL;DR There are 23 practical recommendations for object-oriented programmers. Most of them are completely against everything you've read in other books. For example, static methods, NULL references, getters, setters, and mutable classes are called evil. ...more
Paperback, 230 pages
Published February 17th 2016 by Createspace Independent Publishing Platform
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about Elegant Objects, please sign up.

Be the first to ask a question about Elegant Objects

This book is not yet featured on Listopia. Add this book to your favorite list »

Community Reviews

Showing 1-30
Average rating 4.04  · 
Rating details
 ·  228 ratings  ·  44 reviews

More filters
Sort order
Start your review of Elegant Objects
Sandro Mancuso
Sep 23, 2017 rated it it was ok
I really don't like giving low rates to book because I appreciate the amount of work it is to write one. But this is not a cheap book (£32.76) on Amazon and I feel I need to write a few words.

The advice in the book is extremely old fashioned. The opinions are radical and inflexible. I cannot count how many time he wrote "... and this is wrong. Really wrong." It really put me off, as in my view software design is all about trade offs, but for him it seems to be more black and white.

The design "a
Eduards Sizovs
Aug 02, 2016 rated it it was amazing
Purist OOP at a glance. Well-written, entertaining, practical, bold and marginal at times. 5/5.
Sviataslau Seviaryn
Apr 10, 2016 rated it it was amazing
The first thing I'd like to admit is the language of the book. You may refuse everything written here, you may argue, but anyway you will have a great interest while reading it.
As for the content of the book, sometimes it looks (very) controversial at first glance, at times it even sounds like trolling, but the more you think, the more bright ideas you find. I wouldn't say I 100% agree with Yegor in all his points, and, of course, you don't have to, but the book forces you to start thinking abou
Jul 26, 2017 rated it it was amazing
Shelves: owned, technical, 2017
Step one in the transformation of a successful procedural developer into a successful object developer is a lobotomy. (by David West)

This is the first sentence in “Elegant Objects, volume 1” book by Yegor Bugayenko and after reading it from cover to cover I could not agree more. This book will not leave you neutral, you will either strongly agree or disagree with claims stated there, but it is definitely worth your time. It will challenge what you know about programming, it will challenge what y
Oct 27, 2018 rated it really liked it
Mostly rehashes other popular books and sometimes lacks statistics/research behind some statements and some advice is NOT backed by explanatory analysis, which I believe would sway someone in the author's direction. ...more
Mar 25, 2018 rated it it was amazing
If you use any Object Oriented languages - you need to read this book.

It is a must-read. The information in this book can move you from apprentice to journeyman on the software craftsmanship journey.

You get out of college or your boot camp thinking you know how to program because you know how to use a language. But that is the first step only. This is the second step.

(You will also need to learn quality practices from Extreme Programming.)
Sep 04, 2016 rated it it was amazing
If you put on a costume of a OOP purist, it becomes pretty easy to understand the principles exposed by the book. I may agree completely with some of those principles, and I may not with some others. The point is that the book shares a different perspective regarding a topic that many people see as obvious but that in the reality is not so much. This book encourages to you to ask yourself about your current knowledge basis. Recommended to improve the quality of our software.
Sep 19, 2018 rated it really liked it
Shelves: prof, en
It was eye-opening for different perspectives of object-oriented programming. Some of those like immutability, naming suggestions or the way of dealing with NULLs are quite well known. There is, however, a bunch of tips and explanations that put all of them into logical and complete story.

Different than standard programming books but worth reading.

The style and grammar are the weakest points.
Jul 20, 2017 rated it really liked it
If you are among those who, like me, think that the current object-oriented programming is far away from the original ideas and principles of the OO paradigm this is a great book to find good evidences and examples.

The author gives you some concrete and hands-on recommendations not as a dogmatic thinking, but rather as result of a deep reasoning.

You may agree or not with each of the book's recommendations, but with no doubt they are going to be thought provoking.
Aug 10, 2016 rated it really liked it
Nice read! Probably the most practical book about OOP I've read so far. ...more
Jan 31, 2018 rated it really liked it
The opinions in the book are indeed radical. And it is by no means a beginner friendly, at least in my opinion. But most of the time I found myself nodding in agreement.

Yes, for most of us it will not be possible to use much of what is proposed here in our day to day work, however it’s still a good thing to at least read about it.

And lastly before venturing into reading this book keep an open mind and be prepared to find stuff you do all the time called “wrong”. The language might be a bit str
Gerard Hovanessyan
May 26, 2019 rated it it was amazing
I don’t remember the last time I’ve read a technical book in a single seating, but this one is truly unique and interesting! It challenges the status quo in how we should think when writing OOP. I can definitely recommend it to anyone who writes OOP and especially Java devs.
Andrew Shell
Mar 18, 2016 rated it it was amazing
This book is amazing. It's really changed the way I think of OOP. It's very actionable and easy to understand. ...more
Dmytro Chasovskyi
Feb 22, 2019 rated it it was amazing
Shelves: technical
Overall the books is nice and extremely easy to read.

The main problems, at the current state of Java, it is possible to apply some of the principals but not all at once. Therefore, some of the suggestions become unpractical. Another problem that comes from the library vendors it is not always possible, especially in the production code ignore null paradigm and static objects. Also, when enterprise code is huge and becomes legacy code create each time new object may be costly and fail safe approa
May 16, 2016 rated it it was amazing
Just finished reading it and will definitely read it one more time. It's full of ideas which look very unusual, especially for a Java programmer with over 10 years of experience. However, when you think more about them you realize that ten years were spent wrong... ...more
Sergey Kintsel
Aug 25, 2018 rated it it was amazing
Some ideas I like a lot even though they all exist in Haskell for decades
Oct 08, 2016 rated it really liked it
A number of interesting but largely impractical concepts around the modern OOP. Does a good job at re-imagining your current solutions/projects. Worth a read.
Ruslan Nasonov
Sep 26, 2019 rated it it was amazing
Good book about software architecture with concrete advices. Big advantage that you can see Yegor's code on GitHub, and ask question on his blog. ...more
Andriy Kryvtsun
May 23, 2019 rated it it was amazing
Shelves: it-books
Excellent new view to old well known OOP conception.
Petar Mitrović
Apr 05, 2016 rated it it was amazing
We all talk about OOP but we don't practice it. Especially when we hear words such as "deadline". This book presents us some techniques on how to avoid the pitfalls of procedural programming.

The book's main focus is on software maintainability which I found is the biggest value of any software product.

If you do too, then you might find some usefull tricks in this book. It will be easy for you to read it since it's written in a simple language with a lot of examples. You might agree or not with
Dariusz Mydlarz
Apr 02, 2017 rated it it was amazing
Great book about OOP and how we all get it wrong. Holistic point of view what, actually who, objects should be. I recommend it reading to all ppl thinking they write object oriented code. After reading it I thought: I need to rewrite all my past projects! Definitely changes the way you look at objects, they interactions, etc. I will be applying those rules to my next projects, hopefully making them much much better. And easier to maintain, cause that's the ultimate goal Yegor is selling in the b ...more
Bartosz Bilicki
Jan 21, 2017 rated it it was amazing
Shelves: dev
Before reading, check some of author's style and ideas on his blog-

I find this book well-written, with good examples. Most of given recommendations are usefull actionable and valuable.
Maxin Cherniavskii
Nov 12, 2017 rated it it was amazing
This book contain many interesting ideas about design and math abilities. After read one I got many things that I should to think. The writing style is very simple to understand, ideas are clear (but a bit controversial ).I recommend.
Siarhei Krukau
Oct 24, 2016 rated it it was ok
Recommends it for: Software developers who's mind is open for new ideas
Well, every single idea from this book, taken separately of others, individually, is ok. Some of them are even great!

But your life will become a nightmare if you apply all of them simultaneously in your code. Fortunately, you will not be able to do that, because this book is full of contradictions which makes it logically impossible.

Waiting for the second volume...
May 15, 2017 rated it liked it
Well. Any experienced Java programmer will probably leave this book with a bit of a guilty conscience. I think this book will evoke quite strong feelings in readers, because of the firmness with which the points are made. I must admit, for me most of it was too dogmatic or idealistic. But I get the point, and from a high, puristic standpoint many things do make sense. But we also live in the real world, and need to get things done.

What becomes clear is that the current major OOP languages are fa
Nikita Salnikov-tarnovski
It is amazing book. Really, I was quite impressed in author's ability to take very good and solid guidelines and to write such a bad book about it.

Those tips that author presents are indeed very good guidelines. Code to interface, prefer immutability, don't create your own dependencies etc etc. But they are in no way laws cast in iron, as Yegor presents. Especially when his recommendations and code examples contradict each other, sometime in two consecutive chapters. Next, the metaphorical langu
Aug 29, 2016 rated it liked it
Some good ideas spoiled by some truly dreadful ones, the author's authoritative delivery, and his terrible writing skills. Not to mention the insane amount of typos, including code examples that don't make any sense. And don't even get me started on his feeble attempts at humor. ...more
Mihail Feraru
Feb 26, 2021 rated it liked it
Shelves: computer-science
Overall it's quite a nice book that made me think about a few things I wouldn't generally consider.
The author advocates for considering object-oriented programming to be declarative rather than imperative. In best chapters in my opinion to get value from are:

2.4 Choose method names carefully - it is not the naming that concerns him the most but how we should think about and treat objects
3.2 Don't use static methods - if you struggled to avoid singletons or you'd like to see a more "functional"
Nov 03, 2016 rated it it was ok
Recommends it for: younger programmers; programmers looking for OOP tips or wishing to clarify their outlook on OOP
Recommended to LAFK by: author himself
Shelves: programming
Yegor doesn't write about "elegant" object, but "maintainable" ones. He makes it clear himself many times in the book, though not in the title. Couple of solutions he offers I found anything BUT elegant, though I suppose Elegant Objects a) makes for a better title and b) for Yegor it fits; he does find such objects - dashing. :-)

I struggled with this book. I can see why it's popular with some people. It certainly makes for an interesting read. Yet I struggled and seeking why, I arrived at follow
Uli Kunkel
Elegant Objects is a great book with depth and practical approaches (reads easy). Yegor writes clearly and convincingly, often with expletives (good and wrong).
« previous 1 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Clean Architecture
  • The Clean Coder: A Code of Conduct for Professional Programmers
  • Kafka: The Definitive Guide: Real-Time Data and Stream Processing at Scale
  • The Mythical Man-Month: Essays on Software Engineering
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Domain-Driven Design: Tackling Complexity in the Heart of Software
  • Growing Object-Oriented Software, Guided by Tests
  • Effective Java
  • Head First Design Patterns
  • The Pragmatic Programmer: From Journeyman to Master
  • Designing Data-Intensive Applications
  • Patterns of Enterprise Application Architecture
  • Accelerate: Building and Scaling High-Performing Technology Organizations
  • Domain-Driven Design Distilled
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Test-Driven Development: By Example
  • Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People
  • Spring in Action
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
Yegor is a CEO at Zerocracy, a software platform for management; a VC at; a regular blogger at; a proud holder of PMP and OCMEA certifications; a hands-on Java developer and a lead architect of and Yegor lives in Palo Alto, CA and Moscow, Russia. ...more

News & Interviews

When it comes to the romance genre, second books can be a bit like second dates, can't they? You've had that great initial meet-cute with...
37 likes · 2 comments
“If I don't understand you, it's your fault” 3 likes
More quotes…