April 2018
Intermediate to advanced
408 pages
10h 42m
English
One general principle behind decorators is to allow us to build a composite function from the decorator and the original function to which the decorator is applied. The idea is to have a library of common decorators that can provide implementations for common concerns.
We often call these cross-cutting concerns because they apply across several functions. These are the sorts of things that we would like to design once through a decorator and have them applied in relevant classes throughout an application or a framework.
Concerns that are often centralized as decorator definitions include the following:
A logging decorator, for example, may write standardized messages ...