专栏名称: 逸言
文学与软件,诗意地想念。
今天看啥  ›  专栏  ›  逸言

项目札记007:报表引擎模块的设计

逸言  · 公众号  · 程序员  · 2024-12-02 08:30
    

主要观点总结

文章主要介绍了EISaaS中的报表引擎模块,包括其核心功能、子模块、命名空间、项目名称及其设计思路。文章还提到了架构的一致性原则和隐喻在软件设计中的应用。

关键观点总结

关键观点1: EISaaS报表引擎模块的核心功能

报表引擎是EISaaS平台的核心,用于生成数据分析报表,包含service、runtime、exporter三个子模块。

关键观点2: 报表引擎模块的命名空间与项目名称

报表引擎模块的命名空间为xxx.eisaas.framework.engine.report,项目名称为eisaas-framework-engine-report。

关键观点3: 报表引擎模块的设计思路

报表引擎模块遵循与其他模块一致的设计思路,内部子模块对象相互协作,提供统一的门面类封装,提高API的易用性。这种设计遵循了架构的“一致”原则。

关键观点4: 隐喻在软件设计中的应用

隐喻是软件设计中的重要概念,有助于理解软件的本质和正确使用。在EISaaS设计中,隐喻如引擎的概念被用来描述数据引擎、实体引擎、报表引擎和功能引擎等核心组成部分。


文章预览

由于EISaaS的核心功能就是生成各种数据分析报表,因此,报表引擎模块就是整个平台的核心。它一共包含三个子模块,分别是service,runtime,exporter,子模块之间的关系如下图所示: 报表引擎模块的命名空间为:xxx.eisaas.framework.engine.report,项目名称为eisaas-framework-engine-report。如前文所述,该模块依赖于eisaas.framework.engine.entity与eisaas.infrastructure.xml包。 报表引擎模块的设计并无出彩之处,遵循了与其他模块相同的设计思路,即内部由各个子模块的对象相互协作,对外提供统一的门面类封装不必暴露的细节,提升API的易用性。 看起来,这样的设计稍显平庸,但窃以为却是明智的决策,因为 它遵循了架构的“一致”原则 。Brooks就认为:“好的架构应该是直接的,人们掌握了部分系统后就可以推测出其他部分。「Brooks《设计原本》,转引自Blaauw《Hardware re ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览