• Beck, Kent. 2000. Extreme Programming Explained: Embrace Change
  • Evans, E. 2004. Domain Driven Design: Tackling Complexity in the Heart of Software
  • Fowler, M. 1999. Refactoring: Improving the Design of Existing Code
  • Feathers, M. 2004. Working Effectively With Legacy Code
  • Gamma, E., R. Helm, R. Johnson, and J. Vlissides. 1995. Design Patterns: Elements of Reusable Object-Oriented Software