Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Other Sellers on Amazon
Elegant Objects (Volume 1) Paperback – February 22, 2016
Frequently bought together
Customers who bought this item also bought
Customers who viewed this item also viewed
"Yegor Bugayenko's books, Elegant Objects I & II, show you how to correctly and elegantly implement the object concept in code; while all other books show you how to use code to warp and corrupt the object concept." - David West, Author of Object Thinking. "Probably the most practical book about OOP I've read so far." - Anton Arhipov, Java Champion, Developer Advocate at ZeroTurnaround.
"I definitely enjoyed this book and will be re-reading it again soon." - Ben Nadel, Co-founder at InVision.
"It's facinating." - Baruch Sadogursky, Developer Advocate of JFrog.
"Well-written, entertaining, practical, bold and marginal at times." - Eduards Sizovs, Co-founder of DevTernity.
"It is one of the best books if you have a lot of experience in different projects." - Anton Chernousov, Founder of "The Art of Programming" podcast.
From the Author
Kindle/Electronic edition won't be available until the end of 2018.
Author interviews, book reviews, editors picks, and more. Read it now
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
I also like author's use of objects' anthropomorphic point of view, i.e. looking at objects as living organisms with behavior. I think that helps readers shift their mindset from "thinking like a computer".
Sad aspect is author's lack of reasoning and use of strongest possible words. "pure evil", "it is dumb", "absolutely terrible", etc. This position of know-it-all paradoxically show's authors ignorance; and often he openly admits he doesn't know the reason, but "just don't do it". The advice is still good and there may be other reasons, but author would have to be open-minded and maybe read other books to acquire deeper understanding.
I also felt sometimes that I've been cheated. He writes one example to prove point of argument, and in next chapter says the example it's not actually good and changes it to prove his new point. This inconsistency doesn't add up much of credibility.
But overall good book for beginners looking for OOP approach.
On the other note, I hope technical interviewers and code reviewers go through this book and stop evaluating candidates potential or code quality based on toy procedural puzzles. This book provides excellent angles how modern programmer should think.
I do think this is an interesting book if you have some more experience. I found it a stimulating read, because it spurred me to have a mental argument with the author most of the way through. I was able to find some new insights and it prompted me to re-examine some prior assumptions, and it certainly wasn't boring. But I think you need to read critically.
I particularly liked the chapter on anthropomorphic class names and the application of nouns or verbs to method names depending on whether they have a return value or are void. I also really enjoy the application of his anthropomorphic thinking about classes when it comes to respecting the class enough to ask it only questions that are not invasive, i.e. the questions to not lead to the class being a data bag, or to revealing its privates.
Yegor's viewpoints on the evils of mutability were solid, as well, and served as a reminder, improving my coding practices and ensuring thread-safety of everything I write.
Some reviewers may have been offended by Yegor's passion and his lack of political correctness when using certain language in regards to statics, mutability, and other topics (that I agree are evil). But, I thought he was darn funny when it came to that and it was refreshing to read from someone that doesn't pull punches when it comes to his viewpoints.
If you're looking for an OOP-apologist, look elsewhere.
If you're looking for an OOP-champion that tells it like it is, read this.