Evans, E. (2003). Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley Educational Publishers Inc.
Martin, R. C., Newkirk, J. W., & Koss, R. S. (2006). Agile Software Development, Principles, Patterns and Practices. Pearson.
Gamma, E., Vlissides, J., Johnson, R., & Helm, R. (1995). Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley.
Wirfs-Brock, R., & McKean, A. (2002). Object Design: Roles, Responsibilities, and Collaborations Addison Wesley.