在两个组件的方向上,财务报表生成器如何从数据库中获取数据?

问题描述

我正在阅读整洁的建筑。我有一个问题,请帮助我回答:

在此图中,Interactor组件被引用为Database组件

  • 数据库->交互器

  • 财务报告生成器使用界面财务数据网关和财务实体

  • 财务报告生成器没有看到任何实例Financial Data Gateway。

财务报表生成器类如何在没有任何实例“财务数据映射器”的情况下获取数据?

enter image description here

解决方法

该图显示Financial Data Mapper类实现了Financial Data Gateway接口。由于Financial Report Generator引用了某些Financial Data Gateway,因此我们可以假定实现(实例)对象是此体系结构中的Financial Data Mapper,因为这是唯一实现该接口的类。这样就可以访问财务数据库。

如果您需要基于数据库以外的其他数据源来创建财务报告,则可以引入一个新的数据源及其自己的财务数据网关实现。