A few notes while working through this book (excellent stuff so far):
– work in progress –
- The very same model should be used during all project phases (analysis, design, implementation) (Ch.3)
- Use a layered architecture with a thin service layer (Ch.4)
- Subsystem break-up: First, use horizontal segmentation (layers), then divide the domain layer in vertical segments
- Avoid getters and Setters on domain objects (see A. Holub)
- Use as few associations as possible (p82ff)
- Group similar entity attributes as value objects (p97ff)
- Aggregates (p125ff): Entities insied the aggregate have only a local identity. Foreign entities must only reference the aggregate root.