Wrappers are used to simplify an interface, to make a confusing or badly designed API easier to use, to convert data formats into something more convenient, and to implement cross-language compatibility. Wrappers are also sometimes used to add testing and error-checking code to an existing API.
Let's take a look at a real-world application of a wrapper module. Imagine that you work for a large bank and have been asked to write a program to analyze fund transfers to help identify possible fraud. Your program receives information, in real time, about every inter-bank funds transfer that takes place. For each transfer, you are given:
The amount of the transfer
The ID of the branch in which the transfer took place
The identification code for the bank the funds are being sent to
Your task is to analyze the transfers over time to identify unusual patterns of activity. To do this, you need to calculate, for...