GoF [Gang Of Four] design patterns used:
Singleton
For forcing only one instance of Doctrine_Manager
Composite
For leveled configuration
Factory
For connection driver loading and many other things
Observer
For event listening
Flyweight
For efficient usage of validators
Iterator
For iterating through components [Tables, Connections, Records etc.]
State
For state-wise connections
Strategy
For algorithm strategies
Enterprise application design patterns used:
Active Record
Doctrine is an implementation of this pattern
UnitOfWork
For maintaining a list of objects affected in a transaction
Identity Field
For maintaining the identity between record and database row
Metadata Mapping
For Doctrine DataDict
Dependent Mapping
For mapping in general, since all records extend Doctrine_Record which performs all mappings
Foreign Key Mapping
For one-to-one, one-to-many and many-to-one relationships
Association Table Mapping
For association table mapping (most commonly many-to-many relationships)
Lazy Load
For lazy loading of objects and object properties
Query Object
DQL API is actually an extension to the basic idea of Query Object pattern