proxy pattern do you bite your thumb at ussir--abramromeo and juliet as programs growyou often find that there are functions that you call very often when these calculations are heavy or slowyour whole program suffers consider the following example for calculating the fibonacci sequence for number ndef fib( )if return return fib( fib( this fairly simple recursive function has serious flawespecially as becomes really large can you figure out what the problem might beif you thought that it is the fact that the value of some (xwould have to be calculated multiple times whenever you want to calculate fibonacci number for an larger than you are spot on there are multiple ways we could handle this problembut want to use very specific waycalled memoization emoization whenever we have function being called multiple timeswith the value repeatedit would be useful to store the response of the calculation so we do not have to go through the process of calculating the value againwe would rather just grab the value we already calculated and return that this act of saving the result of function call for later use is called memoization (cwessel badenhorst badenhorstpractical python design patterns