{"product_id":"what-every-programmer-should-know-about-objectoriented-design","title":"What Every Programmer Should Know About Object-Oriented Design","description":"\u003cp\u003eIf youre a programmer using C  Smalltalk  or Eiffel  or if youre about to migrate to object orientation for the first time  you need to know the most important principles of object-oriented design. For example: In a reliable design  why must a variables cone of polymorphism lie within that of a method. Is connascence good or bad? How could the inherited methods of a superclass violate the invariant of a subclass -- and how can this be prevented? Page-Jones answers these questions and more  with characteristic clarity  demystifying the fundamentals of object orientation in a language-independent way. He provides a comprehensive notation for object-oriented design that allows you to depict the design for a whole system or to jot down back-of-the-envelope ideas. features 150 diagrams and exercises Topics Include   Encapsulation  Information Hiding  State Retention  Object Identity  Synchronous and Asynchronous Messages  Classes and Subclasses  Inheritance  Polymorphism  Genericity  Reusability  The Object-Communication Diagram  States and Transitions  Connascence  Class Domains  Encumbrance  State Space and Behavior  Class Cohesion  Guide to Object-Oriented Terminology  Object-Orientation in a Historical Context From the Foreword \". . . vintage Page-Jones. . . . Meilir is a gifted teacher. . . . a relentlessly pragmatic focus based on real-world experience . . . compact examples to guide the developer  whether novice or old hand  toward better object-oriented software solutions. . . . Who could ask for more?\" -- Larry L. Constantine\u003c\/p\u003e","brand":"My Store","offers":[{"title":"Default Title","offer_id":44959058231349,"sku":"ByrdShop_0932633315","price":58.04,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0627\/8139\/0901\/files\/9780932633316.jpg?v=1770372870","url":"https:\/\/atxbooks.com\/products\/what-every-programmer-should-know-about-objectoriented-design","provider":"ATX Books","version":"1.0","type":"link"}