假设我有一个前端应用程序需要从某个后端获取数据。让我们假设有 2 个不同的后端 REST API 实现可用,BackEnd1和BackEnd2。它们都提供相同的语义,因此客户端可以使用它们中的任何一个,但它们的输入/输出对的结构不同。
为了掩盖这些差异,我可以创建一个接口,该接口BackEndInterface
定义客户端将调用的方法并提供 2 个实现类,BackEndImpl1
以及分别BackEndImpl2
用于BackEnd1和BackEnd2。使用依赖注入 (DI) 机制决定使用哪一个。
问题是是否可以使用外部配置来驱动 DI,并在应用程序启动时决定使用哪个实现,例如读取环境变量或配置文件。