

Buy anything from 5,000+ international stores. One checkout price. No surprise fees. Join 2M+ shoppers on Desertcart.
Desertcart purchases this item on your behalf and handles shipping, customs, and support to Denmark.
📖 Discover Elegance in Every Page!
Elegant Objects: Volume 2 is a beautifully designed paperback featuring over 200 pages of curated essays that explore the intersection of design, art, and culture, making it a perfect addition to any creative's library.
| Best Sellers Rank | 1,291,422 in Books ( See Top 100 in Books ) |
| Customer Reviews | 4.5 out of 5 stars 50 Reviews |
M**L
Take it with a pinch of salt...
It's great. Some controversial ideas, as usual, but even if you take the advice as conceptual rather than practical it's good to get you thinking about what OOP really is and about the flaws in most modern approaches to software development. It's an entertaining and interesting read, unlike a lot of software literature.
V**K
Equally good as volume 1
If you read volume 1, don't hesitate, just purchase the second volume you will not regret.
J**E
Bonkers or fascinating? I say fascinating.
What can I say? It's a Yegor Bugayenko book about OOP! You should buy it if you're interested in OOP. (Although buy Volume 1 first.) Depending on whom you talk to, Yegor's ideas about OOP are considered anything from completely bonkers to utterly fascinating. Sometimes both. I lean very much in the direction of thinking them fascinating. But even if you think they're bonkers I think you'll find value in this book. Yegor is at least talking about the right kinds of things. He's asking the right questions (and then emphatically answering them as only he can). The books (this one and Volume 1) are interesting, easy to read, and extremely thought-provoking. If you think he's basically crazy and probably wrong about everything, well read his books anyway, and at least let him challenge you. And ideally, in one form or another, engage with him. Argue with him, try and refute him. If you have something to say and say it half as passionately as Yegor says his things then it would likely be a very valuable exchange. Software needs this kind of challenge, these kinds of conversation, and the back and forth.
T**R
Boring
Meh. Compared to the first volume, this has no interesting ideas, but rather goes on and on about nothing. The author simply makes statements to "shock" the reader, however with limited success. No, I wouldn't recommend wasting your time or money on this drivel.
P**V
This book is a beam of light in the darkness of OOP understanding
As soon as you adopt the ideas described in this book — even to some extent — two things may happen to you. First, you will rediscover the joy of building things, if it was lost due to the harsh realities of software engineering: digging through untestable, imperative, procedural code and spending hours figuring out how it works before you can even write a single line, afraid of breaking something. Second, you may find yourself struggling — perhaps even more than before — to work on projects of average code quality. These are essentially the author's own words, as I understand them. But they are 100% true.
F**L
very good book
Very good book
A**I
Nuova prospettiva sulla programmazione OOP
Yegor continua a esporre soluzioni alternative alla risoluzione di problemi di modellizzazione nella OOP. Da un lato ho l'impressione che il codice scritto aumenti, dall'altro comunque le responsabilità sono divise e organizzate maggiormente guadagnandone in testabilità
A**X
Object Thinking
Object Thinking
E**.
More Elegant Objects
I coudn't wait to get vol.2 since vol.1. I've read it in two evenings. Generally it is based on the Yegor's blogs, but it's not just a couple of blogs in a paperback. Yegor goes further explaining more. Below are some comments. 5.2 Validators and assertion Decorating validators are good but asserts aren't. True but is there anyone still using asserts? 5.3 Printers instead of getters I'm missing the printers in my project where I am trying to adopt the EO priniciples (since vol.1). Have end up with some serializing decorators but they are looking somewhat weird. Cool, will adopt. It seems this chapter is more extended than the original blog. I finally got the point from the chapter. 5.6 Temporal coupling. Good points to be used while debating with procedural camerades why declarative way is better than imperative one. 5.8 Gradients of immutability Extends the original blog. 5.9 Law of Demeter Good words to explain to procedural people why we cannot be forced anymore to make ugly bloated facades for the sake of the Law. 5.10 Algorithms Good idea with keywoard "as". Missing it. I hope something like that will be in eolang. I've found code examples a bit exagerrating. But now I think they are good. They progressively reflect that procedural approach has not gone too far from BASIC (except verbosity) whatever language you're using. 6.1 Annotations Good points to debate with procedural people why things like JAXB or Injection via Annotation are ugly and harmful. I don't like positive points on weaving and AspectJ. IMHO weaving is as bad as byte-code manipulation. I like the "exit" constructor idea. Really missing it. 6.2 MVC Extends the original blog. 6.4 Reflection I confused with a term "serialization". I guess that it is about Java default serialization and similar things If a printer "prints" an object - isn't it a serialization too? 6.5 ORM The original blog doesn't contain an answer how to avoid extra round trips except a const implementation of an sql-speaking object. IMHO it was not possible to be applied everywhere. I like the FakeConnection idea to eliminate extra round trips. Not clear how to eliminate extra round trips in case of updates. page 211: "it's important to notice that all objects are immutable [...] That's why when transaction is rolled back, the objects will remain untouched [...]" But if transaction is committed? Should the object be thrown away and loaded once again?
Trustpilot
2 months ago
1 month ago