means two things:
1. Reuse existing code, libraries, framework
2. Write reusable code using design patterns

The most important strategy of reuse is abstraction. Seperating the interface from inplementation.