{"product_id":"139495","title":"Object ","description":"\u003ccenter\u003e\u003cdiv style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/tmgdisk01.cafe24.com\/images\/vs\/4172\/sv\/3jXPBp6XsDf9PpYSJ6ZumAuM0Czeit.png?v=1765075118\" style=\"max-width:100%;max-height:10px\"\u003e\u003c\/div\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\n\n\u003cdiv style=\"width:95%\"\u003e\n\n\u003cdiv style=\"text-align:center;font-size:30px;font-weight:bolder;line-height:1.6em\"\u003e Object \u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"border-bottom:1px;border-bottom-style:dotted;border-color:;padding-bottom:20px\"\u003e\u003ccenter\u003e\u003ctable align=\"center\" width=\"100%\"\u003e\u003ctbody style=\"border:0px\"\u003e\n\n\u003ctr\u003e\u003ctd align=\"center\" style=\"line-height:1.2em;text-align:center;font-size:18px;color:black;font-weight:bold;padding-bottom:20px;\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\n\u003ctr\u003e\u003ctd style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/image.yes24.com\/goods\/74219491\/XL\" style=\"max-width:100%;height:auto\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\n\n\u003c\/tbody\u003e\u003c\/table\u003e\u003c\/center\u003e\u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"width:95%;{split_style6}padding-top:20px;padding-bottom:20px\"\u003e\n\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003e Description \u003c\/div\u003e\n\n\u003cdiv style=\"text-align:left;word-break:break-all;font-size:14px;line-height:1.6em;\"\u003e\n\n\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eBook Introduction\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\u003cdiv\u003e \u003cb\u003eProgram object-oriented toward roles, responsibilities, and collaboration!\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e The first step toward object orientation begins with looking at objects, not classes.\u003cbr\u003e The second step toward object orientation is to view objects not as independent entities, but as communities that cooperate to implement functionality.\u003cbr\u003e Whether we can take the third step depends on how appropriately we can assign roles and responsibilities to the objects participating in the collaboration.\u003cbr\u003e The final step in object-orientation is to learn the skills to seamlessly incorporate the concepts described above into the framework of your programming language.\u003cbr\u003e \u003cbr\u003eIf 《Facts and Misconceptions of Object-Oriented Design》 focused on the first and second steps, objects and cooperation, 《Object: Understanding Object-Oriented Design with Code》 focuses on the third and fourth steps, assignment of responsibilities and their implementation.\u003cbr\u003e After reading this book, you will learn how to assign appropriate roles and responsibilities to objects and how to design collaborations that are flexible yet appropriate to your requirements.\u003cbr\u003e Furthermore, you will learn how to fully express object-oriented concepts and principles using a programming language as a tool.\u003cbr\u003e\n\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cul\u003e\u003cli\u003e You can preview some of the book's contents.\u003cbr\u003e \u003cspan\u003ePreview\u003c\/span\u003e\n\n\u003c\/li\u003e\u003c\/ul\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eindex\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e ◎ Introduction: Programming Paradigms\u003cbr\u003e 01 The Era of Paradigms\u003cbr\u003e 02 Programming Paradigm\u003cbr\u003e\u003cbr\u003e ◎ Chapter 1: Objects, Design\u003cbr\u003e 01.\u003cbr\u003e Implementing a Ticket Sales Application\u003cbr\u003e 02.\u003cbr\u003e What's the problem\u003cbr\u003e ___code that deviates from expectations\u003cbr\u003e Code vulnerable to ___ changes\u003cbr\u003e 03. \u003cbr\u003eImproving the design\u003cbr\u003e Let's increase ___autonomy\u003cbr\u003e ___What has been improved\u003cbr\u003e ___How did you do it?\u003cbr\u003e ___Encapsulation and Cohesion\u003cbr\u003e ___Procedural and object-oriented\u003cbr\u003e ___Shift of responsibility\u003cbr\u003e ___can be improved further\u003cbr\u003e ___Yeah, that's a lie!\u003cbr\u003e 04.\u003cbr\u003e object-oriented design\u003cbr\u003e Why is ___design necessary?\u003cbr\u003e ___object-oriented design\u003cbr\u003e\u003cbr\u003e ◎ Chapter 2: Object-Oriented Programming\u003cbr\u003e 01.\u003cbr\u003e Movie ticket reservation system\u003cbr\u003e ___ Review the requirements\u003cbr\u003e 02.\u003cbr\u003e Towards Object-Oriented Programming\u003cbr\u003e ___ collaboration, object, class\u003cbr\u003e Program structure that follows the structure of the ___ domain\u003cbr\u003e Implementing the ___ class\u003cbr\u003e ___ a community of cooperating objects\u003cbr\u003e ___ A Short Story About Collaboration\u003cbr\u003e 03.\u003cbr\u003e Get a discounted rate\u003cbr\u003e ___ Start working together to calculate discount rates\u003cbr\u003e ___ Discount policy and discount conditions\u003cbr\u003e ___ Configure a discount policy\u003cbr\u003e 04.\u003cbr\u003e Inheritance and polymorphism\u003cbr\u003e ___ Compile-time dependencies and run-time dependencies\u003cbr\u003e Programming by ___ Difference\u003cbr\u003e ___ Inheritance and Interfaces\u003cbr\u003e ___ polymorphism\u003cbr\u003e ___ Interfaces and Polymorphism\u003cbr\u003e 05.\u003cbr\u003e Abstraction and Flexibility  \u003cbr\u003e___ The Power of Abstraction\u003cbr\u003e ___ Flexible design\u003cbr\u003e ___ Abstract Classes and Interfaces Tradeoffs\u003cbr\u003e ___ Code Reuse\u003cbr\u003e ___ inheritance\u003cbr\u003e ___ synthesis\u003cbr\u003e\u003cbr\u003e ◎ Chapter 3: Roles, Responsibilities, and Cooperation\u003cbr\u003e 01.\u003cbr\u003e cooperation\u003cbr\u003e ___ A look back at the movie ticket reservation system\u003cbr\u003e ___ cooperation\u003cbr\u003e ___ Collaboration determines the context for design\u003cbr\u003e 02.\u003cbr\u003e responsibility\u003cbr\u003e What is ___ responsibility?\u003cbr\u003e ___ Assignment of Responsibilities\u003cbr\u003e ___ Responsibility-Driven Design\u003cbr\u003e ___ message determines the object\u003cbr\u003e ___ actions determine status\u003cbr\u003e 03.\u003cbr\u003e role\u003cbr\u003e ___ Roles and Collaboration\u003cbr\u003e ___ Flexible and reusable collaboration\u003cbr\u003e ___ Objects vs. Roles\u003cbr\u003e ___ Roles and Abstractions\u003cbr\u003e ___ actors and roles\u003cbr\u003e\u003cbr\u003e ◎ Chapter 4: Design Quality and Tradeoffs\u003cbr\u003e 01.\u003cbr\u003e Data-driven movie ticket reservation system\u003cbr\u003e Let's prepare the ___ data\u003cbr\u003e Let's reserve tickets to the ___ movie\u003cbr\u003e 02.\u003cbr\u003e Design Tradeoffs\u003cbr\u003e ___ encapsulation\u003cbr\u003e ___ Cohesion and coupling\u003cbr\u003e 03.\u003cbr\u003e The Problems with Data-Driven Movie Ticketing Systems\u003cbr\u003e ___ Encapsulation Violation\u003cbr\u003e ___ high coupling\u003cbr\u003e ___ low cohesion\u003cbr\u003e ___ Keep the encapsulation\u003cbr\u003e 04.\u003cbr\u003e Towards autonomous objects  \u003cbr\u003e___ Objects that are responsible for their own data\u003cbr\u003e ___ Encapsulation Violation\u003cbr\u003e 05.\u003cbr\u003e But it's still not enough\u003cbr\u003e ___ high coupling\u003cbr\u003e ___ low cohesion\u003cbr\u003e ___ Data-driven design focuses on the state of objects rather than their behavior.\u003cbr\u003e 06.\u003cbr\u003e The Challenges of Data-Driven Design\u003cbr\u003e ___ Data-centric design forces you to define operations on objects in isolation.\u003cbr\u003e\u003cbr\u003e Chapter 5: Assigning Responsibilities\u003cbr\u003e 01.\u003cbr\u003e Towards Responsibility-Driven Design\u003cbr\u003e ___ Decide on action before data\u003cbr\u003e ___ Determine responsibility within the context of collaboration\u003cbr\u003e ___ Responsibility-Driven Design\u003cbr\u003e 02.\u003cbr\u003e GRASP Pattern for Responsibility Assignment\u003cbr\u003e Starting from the concept of ___ domain\u003cbr\u003e ___ Assign responsibility to information professionals\u003cbr\u003e ___ high cohesion and low coupling\u003cbr\u003e ___ Assign object creation responsibility to the creator\u003cbr\u003e 03.\u003cbr\u003e Verification through implementation\u003cbr\u003e ___ Improve Discount Condition\u003cbr\u003e Separate ___ types\u003cbr\u003e ___ Separation through polymorphism\u003cbr\u003e ___Protect from changes\u003cbr\u003e ___ Improving the Movie class  \u003cbr\u003e___ Change and Flexibility\u003cbr\u003e 04.\u003cbr\u003e Alternatives to Responsibility-Driven Design\u003cbr\u003e ___ method cohesion\u003cbr\u003e Let's make ___ objects autonomous\u003cbr\u003e\u003cbr\u003e ◎ Chapter 6: Messages and Interfaces\u003cbr\u003e 01.\u003cbr\u003e Collaboration and Messages\u003cbr\u003e ___ client-server model\u003cbr\u003e ___ Messages and Message Transmission\u003cbr\u003e ___ messages and methods\u003cbr\u003e ___ Public Interface and Operations\u003cbr\u003e ___ Signature\u003cbr\u003e 02.\u003cbr\u003e Interface and design quality\u003cbr\u003e ___ Don't ask, just order\u003cbr\u003e ___ An interface that reveals intent\u003cbr\u003e ___ Putting it all together\u003cbr\u003e 03.\u003cbr\u003e The trap of principles\u003cbr\u003e ___ The Demeter Rule is not a rule that forces one dot (.)\u003cbr\u003e ___ Conflict between coupling and cohesion\u003cbr\u003e 04.\u003cbr\u003e Command-Query Separation Principle\u003cbr\u003e ___ Separating commands and queries from recurring schedules\u003cbr\u003e ___ Command-query separation and referential transparency\u003cbr\u003e ___ Focus on responsibility\u003cbr\u003e\u003cbr\u003e ◎ Chapter 7: Object Decomposition\u003cbr\u003e 01.\u003cbr\u003e Procedure abstraction and data abstraction\u003cbr\u003e 02.\u003cbr\u003e Procedural abstraction and functional decomposition\u003cbr\u003e ___ System as a main function\u003cbr\u003e ___ Payroll Management System\u003cbr\u003e ___ Implementing a payroll management system  \u003cbr\u003e___ Problems with top-down functional decomposition\u003cbr\u003e ___ When is top-down decomposition useful?\u003cbr\u003e 03.\u003cbr\u003e module\u003cbr\u003e ___ Information Hiding and Modules\u003cbr\u003e Advantages and limitations of the ___ module\u003cbr\u003e 04.\u003cbr\u003e Data abstraction and abstract data types\u003cbr\u003e ___ abstract data type\u003cbr\u003e 05.\u003cbr\u003e class\u003cbr\u003e Is the ___ class an abstract data type?\u003cbr\u003e ___ Converting from an abstract data type to a class\u003cbr\u003e Choose based on ___ changes\u003cbr\u003e ___ cooperation is important\u003cbr\u003e\u003cbr\u003e Chapter 8: Managing Dependencies\u003cbr\u003e 01.\u003cbr\u003e Understanding Dependencies\u003cbr\u003e ___ Changes and Dependencies\u003cbr\u003e ___ Dependency Transition\u003cbr\u003e ___ Runtime dependencies and compile-time dependencies\u003cbr\u003e ___ context independence\u003cbr\u003e Resolving ___ dependencies\u003cbr\u003e 02.\u003cbr\u003e Flexible design\u003cbr\u003e ___ Dependency and Coupling\u003cbr\u003e ___ Knowledge creates union\u003cbr\u003e ___ Rely on abstractions\u003cbr\u003e ___ explicit dependencies\u003cbr\u003e ___ new is harmful\u003cbr\u003e ___ Sometimes it's okay to create\u003cbr\u003e ___ Reliance on standard classes is not harmful\u003cbr\u003e ___ Expand the context\u003cbr\u003e ___ combinable actions\u003cbr\u003e\u003cbr\u003e ◎ Chapter 9: Flexible Design\u003cbr\u003e 01.\u003cbr\u003e Open-closed principle  \u003cbr\u003e___ Fix compile-time dependencies and change runtime dependencies\u003cbr\u003e ___ Abstraction is key\u003cbr\u003e 02.\u003cbr\u003e Separate creation and use\u003cbr\u003e Add ___ FACTORY\u003cbr\u003e ___ Assign responsibility to pure artifacts\u003cbr\u003e 03.\u003cbr\u003e Dependency Injection\u003cbr\u003e ___ Hidden dependencies are bad\u003cbr\u003e 04.\u003cbr\u003e Dependency Inversion Principle\u003cbr\u003e ___ Abstraction and Dependency Inversion\u003cbr\u003e ___ Dependency Inversion Principle and Packages\u003cbr\u003e 05.\u003cbr\u003e Advice on flexibility\u003cbr\u003e ___ Flexible design is only right when flexibility is needed.\u003cbr\u003e ___Cooperation and responsibility are important\u003cbr\u003e\u003cbr\u003e Chapter 10: Inheritance and Code Reuse\u003cbr\u003e 01.\u003cbr\u003e Inheritance and Duplicate Code\u003cbr\u003e ___ DRY principle\u003cbr\u003e ___ Duplication and Change\u003cbr\u003e ___ Eliminate duplicate code using inheritance\u003cbr\u003e ___ Strongly coupled Phone and NightlyDiscountPhone\u003cbr\u003e 02.\u003cbr\u003e Vulnerable base class problem\u003cbr\u003e ___ Unnecessary interface inheritance problem\u003cbr\u003e ___ Method Overriding's Misbehavior Problem\u003cbr\u003e ___ Problem with simultaneous modification of parent and child classes\u003cbr\u003e 03.\u003cbr\u003e Take a look at your phone again\u003cbr\u003e Let's rely on ___ abstraction\u003cbr\u003e ___ Extract the difference with a method  \u003cbr\u003e___ Move duplicate code to the parent class\u003cbr\u003e ___ Abstraction is key\u003cbr\u003e ___ Choose a name that reveals your intentions\u003cbr\u003e Add ___ tax\u003cbr\u003e 04.\u003cbr\u003e Programming by Difference\u003cbr\u003e\u003cbr\u003e Chapter 11: Synthesis and Flexible Design\u003cbr\u003e 01.\u003cbr\u003e Change inheritance to composition\u003cbr\u003e ___ Unnecessary interface inheritance problem: java.util.Properties and java.util.Stack\u003cbr\u003e ___ Method Overriding Misbehavior Problem: InstrumentedHashSet\u003cbr\u003e ___ Problem with simultaneous modification of parent and child classes: PersonalPlaylist\u003cbr\u003e 02.\u003cbr\u003e Explosive increase in combinations due to inheritance\u003cbr\u003e ___ Combining basic and additional policies\u003cbr\u003e ___ Implementing basic policies using inheritance\u003cbr\u003e ___ Combine tax policies with basic policies\u003cbr\u003e ___ Combine the basic rate discount policy with the basic policy\u003cbr\u003e ___ Fall into the trap of duplicate code\u003cbr\u003e 03.\u003cbr\u003e Change to composite relationship\u003cbr\u003e ___ Synthesize basic policies\u003cbr\u003e Apply ___ additional policies\u003cbr\u003e ___ Synthesize basic and additional policies\u003cbr\u003e ___ Add a new policy  \u003cbr\u003e___ Object composition is a better approach than class inheritance\u003cbr\u003e 04.\u003cbr\u003e mix-in\u003cbr\u003e ___ Implementing basic policies\u003cbr\u003e Implementing additional policies with ___ traits\u003cbr\u003e ___ Add-on Policy Trait Mix-in\u003cbr\u003e ___ stackable changes\u003cbr\u003e\u003cbr\u003e ◎ Chapter 12: Polymorphism\u003cbr\u003e 01.\u003cbr\u003e polymorphism\u003cbr\u003e 02.\u003cbr\u003e The duality of inheritance\u003cbr\u003e ___ Lecture Evaluation Using Inheritance\u003cbr\u003e ___ Inheritance of data perspective\u003cbr\u003e ___ Inheritance of behavioral perspective\u003cbr\u003e 03.\u003cbr\u003e Upcasting and dynamic binding\u003cbr\u003e ___ Same message, different method\u003cbr\u003e ___ Upcasting\u003cbr\u003e ___ dynamic binding\u003cbr\u003e 04.\u003cbr\u003e Dynamic method exploration and polymorphism\u003cbr\u003e ___ Automatic message delegation\u003cbr\u003e ___ dynamic context\u003cbr\u003e ___ Incomprehensible message\u003cbr\u003e ___ self vs. super\u003cbr\u003e 05.\u003cbr\u003e Inheritance vs. Delegation\u003cbr\u003e ___ Delegation and self references\u003cbr\u003e ___ prototype-based object-oriented language\u003cbr\u003e\u003cbr\u003e ◎ Chapter 13: Subclassing and Subtyping\u003cbr\u003e 01.\u003cbr\u003e Type\u003cbr\u003e ___ type of concept perspective\u003cbr\u003e ___ Types from a programming language perspective\u003cbr\u003e ___ Type from the object-oriented paradigm perspective\u003cbr\u003e 02.\u003cbr\u003e Type hierarchy\u003cbr\u003e Inclusion relationship between ___ types\u003cbr\u003e ___ Object-Oriented Programming and Type Hierarchy  \u003cbr\u003e03.\u003cbr\u003e Subclassing and subtyping\u003cbr\u003e ___ When should I use inheritance?\u003cbr\u003e ___ is-a relationship\u003cbr\u003e ___ Behavioral Compatibility\u003cbr\u003e ___ Separate layers according to client expectations\u003cbr\u003e ___ Subclassing and Subtyping\u003cbr\u003e 04.\u003cbr\u003e Liskov substitution principle\u003cbr\u003e ___ Client and Substitutability\u003cbr\u003e Revisiting the ___ is-a relationship\u003cbr\u003e ___ The Liskov Substitution Principle is the foundation of flexible design.\u003cbr\u003e ___ Type Hierarchy and the Liskov Substitution Principle\u003cbr\u003e 05.\u003cbr\u003e Design and subtyping by contract\u003cbr\u003e Contract with ___ subtype\u003cbr\u003e\u003cbr\u003e ◎ Chapter 14: Consistent Cooperation\u003cbr\u003e 01.\u003cbr\u003e Changing your mobile phone billing system\u003cbr\u003e ___ Basic Policy Extension\u003cbr\u003e ___ Implementing a fixed-rate system\u003cbr\u003e Implementing a time-based approach\u003cbr\u003e Implementing a ___-day-of-the-week method\u003cbr\u003e Implementing the ___ section-by-section method\u003cbr\u003e 02.\u003cbr\u003e Bringing consistency to your design\u003cbr\u003e ___ Conditional logic vs. object navigation\u003cbr\u003e ___ Revisiting Encapsulation\u003cbr\u003e 03.\u003cbr\u003e Implementing consistent baseline policies\u003cbr\u003e ___ Separate changes\u003cbr\u003e ___ Encapsulate changes\u003cbr\u003e ___ Designing Collaboration Patterns  \u003cbr\u003eImplementing collaboration patterns at the ___ level of abstraction\u003cbr\u003e ___ Implementing concrete cooperation\u003cbr\u003e ___ Fit into the collaboration pattern\u003cbr\u003e ___ Find the pattern\u003cbr\u003e\u003cbr\u003e ◎ Chapter 15: Design Patterns and Frameworks\u003cbr\u003e 01.\u003cbr\u003e Design Patterns and Design Reuse\u003cbr\u003e ___ software pattern\u003cbr\u003e ___ pattern classification\u003cbr\u003e ___ Patterns and Responsibility-Driven Design\u003cbr\u003e ___ Encapsulation and Design Patterns\u003cbr\u003e ___ pattern is the starting point\u003cbr\u003e 02.\u003cbr\u003e Frameworks and code reuse\u003cbr\u003e ___ Code Reuse vs. Design Reuse\u003cbr\u003e ___ Separate packages into parent and child policies\u003cbr\u003e ___ Control Inversion Principle\u003cbr\u003e\u003cbr\u003e ◎ In conclusion: Moving forward\u003cbr\u003e\u003cbr\u003e ◎ Appendix A: Design by Contract\u003cbr\u003e 01.\u003cbr\u003e Cooperation and Contract\u003cbr\u003e ___ side effects explicitly\u003cbr\u003e ___ contract\u003cbr\u003e 02.\u003cbr\u003e Design by contract\u003cbr\u003e ___Prerequisites\u003cbr\u003e ___ postcondition\u003cbr\u003e ___ invariant\u003cbr\u003e 03.\u003cbr\u003e Design and subtyping by contract\u003cbr\u003e ___ Contract Rules\u003cbr\u003e ___ Variability Rule\u003cbr\u003e ___ Function Types and Subtyping\u003cbr\u003e\u003cbr\u003e ◎ Appendix B: Implementation of the type hierarchy\u003cbr\u003e Implementing a type hierarchy using ___ classes\u003cbr\u003e Implementing type hierarchy using ___ interfaces  \u003cbr\u003e___ Implementing type hierarchy using abstract classes\u003cbr\u003e ___ Abstract classes and interfaces? Combining them\u003cbr\u003e Using ___ Duck Typing\u003cbr\u003e ___ Mixins and Type Hierarchies\u003cbr\u003e\u003cbr\u003e ◎ Appendix C: Dynamic Collaboration, Static Code\u003cbr\u003e 01.\u003cbr\u003e Dynamic and static models\u003cbr\u003e ___ actions determine the code\u003cbr\u003e Consider ___ changes\u003cbr\u003e 02.\u003cbr\u003e Domain Model and Implementation\u003cbr\u003e About the ___ domain model\u003cbr\u003e ___ Designing Monsters\u003cbr\u003e ___ Domain model considering behavior and change\u003cbr\u003e ___ Analysis model, design model, and implementation model\u003cbr\u003e\u003cbr\u003e ◎ Appendix D: References\u003cbr\u003e ___ References\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eDetailed image\u003c\/b\u003e \u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cdiv\u003e\u003cimg src=\"https:\/\/image.yes24.com\/momo\/TopCate2333\/MidCate003\/233226355.jpg\" border=\"0\" alt=\"Detailed Image 1\"\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003ePublisher's Review\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e This book covers the following topics:\u003cbr\u003e\u003cbr\u003e ◎ How to design and implement object-oriented programs based on roles, responsibilities, and collaboration\u003cbr\u003e ◎ How to trade off design using cohesion and coupling\u003cbr\u003e ◎ Various dependency management techniques that make design flexible\u003cbr\u003e ◎ The concept of inheritance for type hierarchy and composition for code reuse \u003cbr\u003e◎ Various design principles and design patterns \u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"width:95%;padding-top:20px;padding-bottom:20px\"\u003e\n\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003e GOODS SPECIFICS \u003c\/div\u003e\n\n\u003cdiv style=\"text-align:left;font-size:14px;line-height:1.6em;\"\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eDate of publication:\u003c\/strong\u003e June 17, 2019\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003ePage count, weight, size:\u003c\/strong\u003e 656 pages | 188*240*27mm\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eISBN13:\u003c\/strong\u003e 9791158391409\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eISBN10:\u003c\/strong\u003e 1158391404 \u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003ccenter\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cspan\u003e\u003c\/span\u003e\n\n\u003c\/center\u003e\n\n\n\u003c\/center\u003e","brand":"LIBRAIRIE COREENNE","offers":[{"title":"Default Title","offer_id":43893358788650,"sku":"139495","price":46.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0683\/2750\/5962\/files\/1ee431f28e0204c1f36b1cef544035b2.jpg?v=1765398365","url":"https:\/\/librairie.coreenne.fr\/en\/products\/139495","provider":"LIBRAIRIE COREENNE","version":"1.0","type":"link"}