Practice Problems Practice software design patterns - general, reusable solutions to commonly occurring problems.