Main Page
Table of content
Copyright
The Addison-Wesley Signature Series
Preface
Who This Book Is For
Acknowledgments
Colophon
Introduction
Architecture
Enterprise Applications
Kinds of Enterprise Application
Thinking About Performance
Patterns
Part 1: The Narratives
Chapter 1. Layering
The Evolution of Layers in Enterprise Applications
The Three Principal Layers
Choosing Where to Run Your Layers
Chapter 2. Organizing Domain Logic
Making a Choice
Service Layer
Chapter 3. Mapping to Relational Databases
Architectural Patterns
The Behavioral Problem
Reading in Data
Structural Mapping Patterns
Building the Mapping
Using Metadata
Database Connections
Some Miscellaneous Points
Further Reading
Chapter 4. Web Presentation
View Patterns
Input Controller Patterns
Further Reading
Chapter 5. Concurrency
Concurrency Problems
Execution Contexts
Isolation and Immutability
Optimistic and Pessimistic Concurrency Control
Transactions
Patterns for Offline Concurrency Control
Application Server Concurrency
Further Reading
Chapter 6. Session State
The Value of Statelessness
Session State
Chapter 7. Distribution Strategies
The Allure of Distributed Objects
Remote and Local Interfaces
Where You Have to Distribute
Working with the Distribution Boundary
Interfaces for Distribution
Chapter 8. Putting It All Together
Starting with the Domain Layer
Down to the Data Source Layer
Some Technology-Specific Advice
Other Layering Schemes
Part 2: The Patterns
Chapter 9. Domain Logic Patterns
Transaction Script
Domain Model
Table Module
Service Layer
Chapter 10. Data Source Architectural Patterns
Table Data Gateway
Row Data Gateway
Active Record
Data Mapper
Chapter 11. Object-Relational Behavioral Patterns
Unit of Work
Identity Map
Lazy Load
Chapter 12. Object-Relational Structural Patterns
Identity Field
Foreign Key Mapping
Association Table Mapping
Dependent Mapping
Embedded Value
Serialized LOB
Single Table Inheritance
Class Table Inheritance
Concrete Table Inheritance
Inheritance Mappers
Chapter 13. Object-Relational Metadata Mapping Patterns
Metadata Mapping
Query Object
Repository
Chapter 14. Web Presentation Patterns
Model View Controller
Page Controller
Front Controller
Template View
Transform View
Two Step View
Application Controller
Chapter 15. Distribution Patterns
Remote Facade
Data Transfer Object
Chapter 16. Offline Concurrency Patterns
Optimistic Offline Lock
Pessimistic Offline Lock
Coarse-Grained Lock
Implicit Lock
Chapter 17. Session State Patterns
Client Session State
Server Session State
Database Session State
Chapter 18. Base Patterns
Gateway
Mapper
Layer Supertype
Separated Interface
Registry
Value Object
Money
Special Case
Plugin
Service Stub
Record Set
References