Domain Driven Design Using Naked Objects The Pragmatic Programmers 1st Edition by Dan Haywood – Ebook PDF Instant Download/Delivery. 1934356441, 978-1934356449
Full download Domain Driven Design Using Naked Objects The Pragmatic Programmers 1st Edition after payment
Product details:
ISBN 10: 1934356441
ISBN 13: 978-1934356449
Author: Dan Haywood
Domain-driven design (DDD) focuses on what matters in enterprise applications: the core business domain. Using object-oriented principles, you can develop a domain model that all team members-including business experts and technical specialists-can understand. Even better, this model is directly related to the underlying implementation.
But if you’ve tried building a domain-driven application then you’ll know that applying the DDD principles is easier said than done. Naked Objects, an open-source Java framework, lets you build working applications simply by writing the core domain classes. Naked Objects automatically renders your domain object in a generic viewer–either rich client or HTML. You can use its integration with Fitnesse to test-drive the development of your application, story-by-story. And once developed, you can deploy your application either to the full Naked Objects runtime, or within your existing application infrastructure.
In this book, Dan Haywood first gives you the tools to represent your domain as plain old Java objects, expressing business rules both declaratively and imperatively. Next, you’ll learn the techniques to deepen your design while keeping it maintainable as the scope of your application grows. Finally, you’ll walk through the development practices needed to implement your domain applications, taking in testing, deployment, and extending Naked Objects itself. Throughout the book, you’ll build a complete sample application, learning key DDD principles as you work through the application step by step. Every chapter ends with exercises to gain further experience in your own projects.
Through its focus on the core business domain, DDD delivers value to your business stakeholders, and Naked Objects makes using DDD easy to accomplish. Using Naked Objects, you’ll be ready in no time to build fully featured domain-driven applications.
Table of content:
Preface 16
Who This Book Is For
How the Book Is Organized
Case Study and Exercises
Conventions Further Resources
I Tools 22
1 Getting Started 23
1.1 Understanding Domain-Driven Design
1.2 The Essentials of DDD
1.3 Introducing Naked Objects
1.4 Naked Objects in About Five Minutes
1.5 How Naked Objects Helps with DDD
1.6 The Big Picture
2 Identifying the Domain Concepts
2.1 Introducing CarServ
2.2 Getting Ready
2.3 Creating the Domain Classes
2.4 Using Repositories to Locate Objects
2.5 Identifying Objects to the User
2.6 Capturing Simple Business Rules
2.7 Providing Choices for Properties
3 Relating Objects Together
3.1 Associating Objects
3.2 Adding Describing Concepts .
3.3 Capturing Business Rules for Collections
CONTENTS 10
4 Rapid Prototyping 82
4.1 Fixtures for Setting Up Domain Objects
4.2 Fixtures for Setting Up the Clock
4.3 Fixtures for Setting Up User Sessions
4.4 Organizing Fixtures into Hierarchies
5 Creating Behaviorally Complete Objects
5.1 Adding Behavior to Domain Objects
5.2 Validating Action Arguments
5.3 Making Actions Friendlier to Use
5.4 Adding Finders to Repositories
6 Implementing Business Rules
6.1 Validation Recap
6.2 Disabling Class Members
6.3 Hiding Class Members
6.4 Declarative Rules and the Object Life Cycle
6.5 Validating the Entire Object
7 Using Value Types
7.1 Identifying Value Types
7.2 Pushing Business Rules onto a Value Type
7.3 Adding a Third-Party Value Type
7.4 Specifying Defaults and Other Characteristics
8 Isolating Infrastructure Services
8.1 A Taxonomy of Services
8.2 The Domain Object Container
8.3 Dependency Injection
8.4 Using Services in Fixtures
8.5 Requirements for Writing Services
8.6 Using Interfaces for Repositories
8.7 Implementing a Calendar Service
8.8 Hints and Tips for Writing Services
II Techniques
9 Distributing Class Responsibilities
9.1 Applying Coad Colors
9.2 Factoring Out Objects
9.3 Balancing Responsibilities
9.4 Representing Large Collections with Finder
9.5 Contributing Actions from Services
CLICK HERE to purchase this book now.
CONTENTS 11
10 Applying Domain Patterns
10.1 Type as Factory Pattern
10.2 Knowledge Level Pattern
10.3 Null Object Pattern
10.4 Role Object Pattern
10.5 User Peer Object Pattern
10.6 Strategy Pattern
10.7 Process Object Pattern
11 Keeping the Model Maintainable
11.1 Analyzing the Structure of CarServ
11.2 Decoupling by Moving Responsibilities
11.3 Decoupling by Introducing Interfaces
11.4 Layering Modules
11.5 Decoupling by Splitting Classes
11.6 Introducing an Application Package
11.7 An Application Architecture Blueprint
12 Scenario Testing
12.1 Writing Developer Tests
12.2 Scenario Testing Using FitNesse
12.3 Getting Ready to Write Scenario Tests
12.4 Writing Scenario Tests
12.5 Hints and Tips
III Practices
13 Developing Domain Applications
13.1 The Layered Architecture
13.2 Deployment Options
13.3 Which Option to Choose?
13.4 Development Activities
13.5 Configuration Management
13.6 Working Effectively .
14 Naked Objects as a Design Tool
14.1 Using Naked Objects Only in Development
14.2 Decoupling from the Framework
14.3 Programming Model Interaction Protocol
14.4 Changing the Programming Model
CLICK HERE to purchase this book now.
CONTENTS 12
15 Integrating with Web Frameworks
15.1 Deploying an Embedded Metamodel
15.2 Integrating Layers with the Custom Presentation Option
16 Integrating with the Database
16.1 Configuring XML Persistence
16.2 Mapping Entities Using JPA Annotations
16.3 Mapping Value Objects Using JPA Annotations
16.4 Mapping Relationships
16.5 Porting over Repositories
16.6 Deploying and Running the Application
17 Integrating Within the Enterprise
17.1 Bounded Context Patterns
17.2 Exposing a RESTful Web Service for Other Systems
17.3 Integrating Using an Enterprise Service Bus
18 Deploying the Full Runtime
18.1 Deploying the Application
18.2 Securing the Application
18.3 Deploying the Sister Projects
18.4 A CarServ Retrospective
18.5 The DSFA Application
18.6 Closing Thoughts
People also search:
implementing domain driven design
implementing domain driven design pdf
ddd domain driven design
domain-driven design architecture
domain driven design api