In one of our backend services, we have a class, that is basically the business model of the service and is used in many locations within the code. At some point, we decided that we need to do some caching since a few methods were doing very expensive calls to other remote services and they didn’t need to occur that often.
How do you add caching to a
class that is used very often within the rest of the codebase in the least intrusive way? You wrap the
prototype of the
class of course! And how do you wrap the prototype of the class? With another function that does the wrapping of course!