26.领域报告

构建应用程序除了要支持业务功能以外,还要评估业务的执行情况,这就是报告的最用,一般公司都有BI专门的组负责提供报表类的需求。

1. 从领域对象中派生报告

1.使用简单映射

直接用领域对象属性提供数据,并填充到视图上。但是不推荐,因为会破坏对象的属性私有性,而且具有性能问题。

2.使用中介模式

创建一个中介类,中介类接收视图对象,中介对象传递给领域对象,由领域对象将自身属性调用中介提供的方法更新视图。在共享私有状态的时候用,如果领域在快速增长这个模式没有必要用。

2.直接访问数据存储

直接查询数据库用ORM很容易做数据映射,如果数据库性能也比较低,可以读取非规范化的视图缓存(比如汇总表)

3.在事件流中构建

通过监听领域事件,并对此进行汇总可以形成分析报告,bi部门很多用这样的方式实现统计功能,通过flink实现流式计算实时统计业务指标。

你可能感兴趣的:(26.领域报告)