Martin Fowler

Patterns of Enterprise Application Architecture by Martin Fowler