Elegant Objects


"Elegant Objects" is my first book. It is about object-oriented programming, from an idealistic and, maybe, a bit futuristic point of view. There are 23 independent recommendations for a practical OOP designer on how to make code cleaner, classes more solid and architecture more visible. It is available for sale on Amazon (please, don't forget to review it there!), ISBN: 1519166915.

Nov 20, 2016: I've got over 50 emails from those who are interested in reviewing the second volume of the book. With the first volume, I believe, I made a mistake in selecting reviewers. Not all of them were as effective as I was expecting. This time I will make it different. I will put all all of them in a list and let you vote. The best 12, elected by you, will get the early draft of the second volume and will help me review it. To get into the list, please fill this simple form.

Aug 22, 2016: I will collect all reviews of the book written by its readers on their blogs, to help you better understand what the book is about, why it's good and how it could be better:

Jun 17, 2016: I started a Gitter chat room, where we will discuss object-oriented programming and find out what would be appropriate to write about, on this blog and in the next volume of the book. Join the chat and stay up to date.

Apr 14, 2016: Книгу можно купить в России, Украине, и Беларуссии по цене $35 плюс доставка. Оплатить через PayPal, WebMoney или напрямую на мою карту MasterCard. Пишите на shop@yegor256.com. Вам предложат возможные варианты доставки и вообще помогут.

Apr 10, 2016: I'm starting to work on the second volume of this book. If you are interested to be a reviewer, please send me an email with a short description of yourself and your LinkedIn profile. If you were reviewing the first volume, please don't bother. I want a new group of reviewers.

Mar 17, 2016: The book just made it into the top 100 Amazon Best Sellers in Object-Oriented Design category! There are three reviews already. Many thanks to their authors! Would be great if you publish yours—this will greatly help in promoting the manuscript. Besides that, I will be presenting the book at the following conferences in the next few months: JPoint in Moscow, April 22; JETConf in Minsk, April 25; GeeCON in Krakow, May 11; DEVit in Thessaloniki, May 20; JEEConf in Kiev, May 21. I will give away a few copies at each event, to those who ask the most interesting questions after my presentations. Don't miss your chance to say hello and get a free book.

Feb 28, 2016: Over a 100 books sold already, in just one week! I'm glad to see that you're interested in reading it. I haven't got a single review yet, but I'm sure there will be some. I would like to ask you to post your reviews, either negative or positive, directly to Amazon. I'm getting many requests about an electronic version of the book. I'm not planning to turn this into an e-book, at least until the end of 2018. Mostly because I'm greedy. I realize that the moment I publish a Kindle version, it will be available for a free download somewhere. Although, some of you are saying that the "dead tree" format is not convenient, since it takes too much space, etc. Here is the the offer. You buy a paper book now, read it, make a picture of it, and throw it away, so that it doesn't take space. When an e-book is available, send me that picture and I will send you a Kindle/epub/PDF/whatever file for free. How does this sound?


Feb 22, 2016: The book is published! It is for sale, on Amazon. The price is $40.96. The size is 229 pages. The paper is creamy. The cover is mate. I took into account recommendations and corrections of 9 reviewers. Two of them were missed, for technical reasons. I will definitely include them in the next edition. If you decide to buy it, please leave your feedback on Amazon. It will help me attract more readers. After reading, please shoot me an email to book@yegor256.com. I'm very interested to know what you think. Thanks!


Jan 27, 2016: This cute cactus, created by Andreea Mironiuc, will be on the cover of the book. For a number of reasons. First, because it's elegant. Isn't it? Second, it's alive, just like all our objects in Java. Right? Third, it's pretty hard to offend by breaking its skin and treating it as a bag for other objects. And forth, I just like it.


Jan 19, 2016: Almost all reviewers have finished already. I'm waiting for the last two to send me their results and will start making final changes. Fortunately, the overall feedback is positive so far. All reviewers said that the book was worth reading. Here is its contents, by the way.


Jan 13, 2016: You can pre-order the book on Amazon.com. The price is $40.96. As promised, the book will be published on Feb 22.


Dec 24, 2015: Here is a small Christmas gift for those who are interested in the book—seven pages from chapter 2.4, which covers the subject I haven't discussed on the blog yet. This is not exactly the text you will see in the book. This is the text my selected 11 reviewers received this week from me by mail. By the way, their names are (in alphabetic order): Andrei Istomin, Aneesh Dogra, Francesco Bianchi, Ion Bordian, Kanstantsin Kamkou, Michal Švec, Nicos Kekchidis, Philip Buuck, Simon Tsai, Thanasis Papapanagiotou, and Xiasong Pan. I hope to receive their reviews by the end of January. Then, will spend another 2-3 weeks to take their recommendations into account and the book will go out at the end of February.

Dec 6, 2015: I've received 63 emails so far and it's time to choose the best candidates. I will do it in the next few days and will email them. I will announce the names of selected reviewers here, soon. Thanks a lot to all of you, for your readiness to help!


Nov 22, 2015: The book is ready in its first draft, version 0.1. I invite you to become its first reviewer. Send me an email with a short description about yourself. I will select a few reviewers (8 is the number I have in mind now). Then, I will send you a book. It's free and I will pay for shipping. You will read it (200 pages), and make your corrections right inside the book. Then, ship it back to me using UPS collect on delivery. Your name will be in the book, on the 9th page, in the list of acknowledgments! I'm interested in your negative feedback mostly. Tell me what is not clear, what is missing, what needs a more detailed explanation. But, please, don't argue with my ideas. I won't change them, based on your review. For example, if I'm saying that a static method is a bad thing and you disagree, don't try to convince me, it won't help :) This is my opinion and this is what the book is about. However, I'm sure that my explanations and arguments have many flaws. As an early reviewer, you will help me find them. Again, don't argue with what I'm preaching, but complain about how I do it.

Sep 1, 2015: The manuscript is finished, in its first draft. Took about 200 hours. Most of the ideas were taken from the articles previously published on the blog.

Jul 5, 2015: I started to write it.