问题 Our Angular application has a service which can have different implementations, aka. “strategies”. For simplicity, let’s assume it’s an “event reporting” service. The event reporting service has a function for reporting information. Depending on a runtime preference, the reporting can either turned off, go to the console , or be sent to a REST API, or go somewhere else. Using pure TS, this would look like: interface IReporter { report (message: string): void; } class NoReporter implements