The patterns in the Book are not new, they are known by any average coder with few yrs of exp. How ever the book is a very coherent collection of patterns and still (in 2010) remains very relevant. But the book can use little updating in few areas like with ASP.Net MVC - .Net now supports MVC, servi
Patterns of Enterprise Application Architecture
โ Scribed by Martin Fowler
- Publisher
- Addison-Wesley Professional
- Year
- 2002
- Tongue
- English
- Leaves
- 559
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
Developers of enterprise applications (e.g reservation systems, supply chain programs, financial systems, etc.) face a unique set of challenges, different than those faced by their desktop system and embedded system peers. For this reason, enterprise developers must uncover their own solutions. In this new book, noted software engineering expert Martin Fowler turns his attention to enterprise application development. He helps professionals understand the complex -- yet critical -- aspects of architecture. While architecture is important to all application development, it is particularly critical to the success of an enterprise project, where issues such as performance and concurrent multi-user access are paramount. The book presents patterns (proven solutions to recurring problems) in enterprise architecture, and the context provided by the author enables the reader to make the proper choices when faced with a difficult design decision.
โฆ Table of Contents
Contents
Preface
Who This Book Is For
Acknowledgments
Colophon
Introduction
Architecture
Enterprise Applications
Kinds of Enterprise Application
Thinking About Performance
Patterns
The Structure of the Patterns
Limitations of These 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
ACID
Patterns for Offline Concurrency Control
Application Server Concurrency
Further Reading
Chapter 6: Session State
The Value of Statelessness
Session State
Ways to Store 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
Further Reading
Example: Revenue Recognition (Java)
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
Index
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
๐ SIMILAR VOLUMES
I've had this book on my wishlist for over 2 months. It's one of those things where I wait and see if I can afford it later, and then later turns into 2 months later. Let me tell you that I feel ridiculously foolish for leaving this on my wishlist for more than the time it takes to ship. If your job
Developers of enterprise applications (e.g reservation systems, supply chain programs, financial systems, etc.) face a unique set of challenges, different than those faced by their desktop system and embedded system peers. For this reason, enterprise developers must uncover their own solutions. In t
The practice of enterprise application development has benefited from the emergence of many new enabling technologies. Multi-tiered object-oriented platforms, such as Java and .NET, have become commonplace. These new tools and technologies are capable of building powerful applications, but they are
<p>The practice of enterprise application development has benefited from the emergence of many new enabling technologies. Multi-tiered object-oriented platforms, such as Java and .NET, have become commonplace. These new tools and technologies are capable of building powerful applications, but they a