Using Design Patterns to Provide Efficient and Reliable Systems
Because design patterns are abstract concepts that allow developers to leverage them in lots of different situations that are similar, but not identical. The developer can then transform the abstract design pattern into specific NAV code that solves a problem.