did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9781934356449

Domain-Driven Design: Using Naked Objects

by
  • ISBN13:

    9781934356449

  • ISBN10:

    1934356441

  • Format: Paperback
  • Copyright: 2009-12-22
  • Publisher: Oreilly & Associates Inc
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $36.95
We're Sorry.
No Options Available at This Time.

Summary

You need to concentrate on the business logic of your application, working closely with users to develop the features they desperately needed yesterday. That means you can't afford to waste time working on the plumbing: the repetitive, boring-but-necessary bits that every app needs. Wouldn't it be great to write just the domain objects and let the rest of the application take care of itself?

Author Biography

Dan Haywood has 20 years' experience as a consultant, writer, and trainer, offering advice on domain-driven design and agile development practices for both the Java and .NET platforms. He has been working with Naked Objects since 2002 and is a committer to the Naked Objects framework; he is also the lead of a number of sister open source projects. He has presented Naked Objects at numerous conferences over the years, and written articles and books on Naked Objects and other technical topics.

Table of Contents

Prefacep. xv
Who This Book is Forp. xvi
How the Book is Organizedp. xvii
Case Study and Exercisesp. xviii
Conventionsp. xix
Further Resourcesp. xix
Toolsp. 1
Getting Startedp. 3
Understanding Domain-Driven Designp. 3
The Essentials of DDDp. 4
Introducing Naked Objectsp. 8
Naked Objects in About Five Minutesp. 10
How Naked Objects Helps with DDDp. 16
The Big Picturep. 19
Identifying the Domain Conceptsp. 23
Introducing CarServp. 23
Getting Readyp. 25
Creating the Domain Classesp. 27
Using Repositories to Locate Objectsp. 31
Identifying Objects to the Userp. 35
Capturing Simple Business Rulesp. 41
Providing Choices for Propertiesp. 43
Relating Objects Togetherp. 47
Associating Objectsp. 47
Adding Describing Conceptsp. 54
Capturing Business Rules for Collectionsp. 60
Rapid Prototypingp. 63
Fixtures for Setting Up Domain Objectsp. 64
Fixtures for Setting Up the Clockp. 67
Fixtures for Setting Up User Sessionsp. 70
Organizing Fixtures into Hierarchiesp. 74
Creating Behaviorally Complete Objectsp. 79
Adding Behavior to Domain Objectsp. 80
Validating Action Argumentsp. 82
Making Actions Friendlier to Usep. 85
Adding Finders to Repositoriesp. 87
Implementing Business Rulesp. 91
Validation Recapp. 92
Disabling Class Membersp. 95
Hiding Class Membersp. 98
Declarative Rules and the Object Life Cyclep. 102
Validating the Entire Objectp. 105
Using Value Typesp. 109
Identifying Value Typesp. 110
Pushing Business Rules onto a Value Typep. 111
Adding a Third-Party Value Typep. 114
Specifying Defaults and Other Characteristicsp. 122
Isolating Infrastructure Servicesp. 125
A Taxonomy of Servicesp. 126
The Domain Object Containerp. 128
Dependency Injectionp. 130
Using Services in Fixturesp. 131
Requirements for Writing Servicesp. 132
Using Interfaces for Repositoriesp. 134
Implementing a Calendar Servicep. 136
Hints and Tips for Writing Servicesp. 139
Techniquesp. 143
Distributing Class Responsibilitiesp. 145
Applying Coad Colorsp. 146
Factoring Out Objectsp. 148
Balancing Responsibilitiesp. 152
Representing Large Collections with Finderp. 155
Contributing Actions from Servicesp. 158
Applying Domain Patternsp. 163
Type as Factory Patternp. 164
Knowledge Level Patternp. 170
Null Object Patternp. 173
Role Object Patternp. 175
User Peer Object Patternp. 180
Strategy Patternp. 181
Process Object Patternp. 186
Keeping the Model Maintainablep. 193
Analyzing the Structure of CarServp. 194
Decoupling by Moving Responsibilitiesp. 197
Decoupling by Introducing Interfacesp. 199
Layering Modulesp. 206
Decoupling by Splitting Classesp. 208
Introducing an Application Packagep. 209
An Application Architecture Blueprintp. 212
Scenario Testingp. 217
Writing Developer Testsp. 218
Scenario Testing Using FitNessep. 223
Getting Ready to Write Scenario Testsp. 224
Writing Scenario Testsp. 229
Hints and Tipsp. 236
Practicesp. 239
Developing Domain Applicationsp. 241
The Layered Architecturep. 242
Deployment Optionsp. 243
Which Option to Choose?p. 246
Development Activitiesp. 249
Configuration Managementp. 252
Working Effectivelyp. 255
Naked Objects as a Design Toolp. 259
Using Naked Objects Only in Developmentp. 259
Decoupling from the Frameworkp. 260
Programming Model Interaction Protocolp. 264
Changing the Programming Modelp. 266
Integrating with Web Frameworksp. 269
Deploying an Embedded Metamodelp. 270
Integrating Layers with the Custom Presentation Optionp. 281
Integrating with the Databasep. 287
Configuring XML Persistencep. 288
Mapping Entities Using JPA Annotationsp. 290
Mapping Value Objects Using JPA Annotationsp. 296
Mapping Relationshipsp. 298
Porting over Repositoriesp. 302
Deploying and Running the Applicationp. 305
Integrating Within the Enterprisep. 311
Bounded Context Patternsp. 312
Exposing a RESTful Web Service for Other Systemsp. 314
Integrating Using an Enterprise Service Busp. 320
Deploying the Full Runtimep. 333
Deploying the Applicationp. 333
Securing the Applicationp. 342
Deploying the Sister Projectsp. 347
A CarServ Retrospectivep. 352
The DSFA Applicationp. 353
Closing Thoughtsp. 354
Appendixesp. 363
Programming Model Cheat Sheetp. 365
Eclipse Templatesp. 369
Bibliographyp. 373
Indexp. 377
Table of Contents provided by Ingram. All Rights Reserved.

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program