{"product_id":"elegant-objects-paperback","title":"Elegant Objects - Paperback","description":"\u003cdiv\u003e\u003cp style=\"text-align: right;\"\u003e\u003ca href=\"https:\/\/reportcopyrightinfringement.com\/\" target=\"_blank\" rel=\"nofollow\"\u003e\u003cb\u003eReport copyright infringement\u003c\/b\u003e\u003c\/a\u003e\u003c\/p\u003e\u003c\/div\u003e\u003cp\u003eby \u003cb\u003eYegor Bugayenko\u003c\/b\u003e (Author)\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003eMost 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 \u003cb\u003efails\u003c\/b\u003e to help programmers produce \u003cb\u003emaintainable\u003c\/b\u003e software.\u003c\/p\u003e\u003cp\u003eThe 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-\u003cb\u003ehoping\u003c\/b\u003e that the next design will remain clean. Within a few months, the same pattern repeats.\u003c\/p\u003e\u003cp\u003eThis book, the first in a series, argues that the problem lies in the traditional interpretation of object-oriented programming. It proposes a \u003cb\u003edifferent understanding\u003c\/b\u003e 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.\u003c\/p\u003e\u003cp\u003eDespite these strong positions, the book is not theoretical. Each idea is illustrated through practical examples written in Java, demonstrating how the concepts translate into \u003cb\u003eeveryday programming\u003c\/b\u003e.\u003c\/p\u003e\u003cp\u003eIf 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 \u003cb\u003ecarefully\u003c\/b\u003e-and enjoy the process of writing code.\u003c\/p\u003e\u003ch3\u003eAuthor Biography\u003c\/h3\u003e\u003cp\u003eYegor 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.\u003c\/p\u003e\n            \u003cdiv\u003e\n\u003cstrong\u003eNumber of Pages:\u003c\/strong\u003e 216\u003c\/div\u003e\n            \u003cdiv\u003e\n\u003cstrong\u003eDimensions:\u003c\/strong\u003e 0.49 x 9 x 6 IN\u003c\/div\u003e\n            \u003cdiv\u003e\n\u003cstrong\u003ePublication Date:\u003c\/strong\u003e February 17, 2016\u003c\/div\u003e\n            ","brand":"Books by splitShops","offers":[{"title":"Default Title","offer_id":43426307113027,"sku":"9781519166913","price":55.3,"currency_code":"USD","in_stock":true}],"url":"https:\/\/store7994.com\/products\/elegant-objects-paperback","provider":"STORE 7994","version":"1.0","type":"link"}