Resources

  1. Design Patterns: Elements of Reusable Object-Oriented Software. Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides. Addison-Wesley.
  2. The Design and Evolution of C++. Bjarne Stroustrup. Addison-Wesley.