随着科学的进步、技术的不断更新,世界已全面进入数字化和智能化时代。2021年3月,国家“十四五”规划的正式发布,进一步催化了各大小企业争分夺秒的进行数字化转型、大数据赋能业务、数智化创新等举措,为的就是不久的将来企业紧跟时代发展不被科技进步所淘汰。近年来,数据仓库、数据平台、数据中台的建设爆炸式增长,相关的技术与架构也纷纷涌跃与各大社区或公众号,本文从测试视角,总结分享一些在数据项目中积累的战术(策略)与武器(工具)。在分享测试战术之前,先简单介绍一下数据项目的数据分层架构。数据分层架构数据分层架构并没有固定的标准,行业内数据分层通常是分为三个层:ODS(OperationDataStore)
不要局限于DDD话术中,要站在更高的层级去思索,如果让你去更加高效的复用代码,你会做些什么。在考虑DDD为了完成这个目的,它会做些什么?再次:DDD与MVC最大的区别就是他会增加一些限制,来尽量保证设计按照期望的方向发展。DDD思想的最终目的就是实现代码层级的高内聚与低耦合。这也是软件设计的最终目的。但是如何量化常说的“高内聚与低耦合”呢?——代码复用(无论是常见的设计模式,还是更加高深的设计思想,其都是朝着如何使的代码能尽量复用而努力的。正所谓,改的越少,错的越少,迭代越快)如何实现代码的复用:保证行为的一致性(----DDD名词:聚合根)例如:订单和订单明细在操作是一体的,要封装起来对外提
不要局限于DDD话术中,要站在更高的层级去思索,如果让你去更加高效的复用代码,你会做些什么。在考虑DDD为了完成这个目的,它会做些什么?再次:DDD与MVC最大的区别就是他会增加一些限制,来尽量保证设计按照期望的方向发展。DDD思想的最终目的就是实现代码层级的高内聚与低耦合。这也是软件设计的最终目的。但是如何量化常说的“高内聚与低耦合”呢?——代码复用(无论是常见的设计模式,还是更加高深的设计思想,其都是朝着如何使的代码能尽量复用而努力的。正所谓,改的越少,错的越少,迭代越快)如何实现代码的复用:保证行为的一致性(----DDD名词:聚合根)例如:订单和订单明细在操作是一体的,要封装起来对外提
本篇起,将描述战术落地DDD遇见的问题以及解决方案。目录:落地架构package的划分类名划分模块依赖关系模块参数流转5.1增改参数流转5.2查询参数流转1.落地架构战术落地采用的是六边形模型架构,即app层和infra层均依赖domain层。image.png图片来源2.package的划分app应用层-dto应用层使用对象-factory(dto->do的工厂,接口和实现均在infra定义)-service应用层逻辑domain领域层-anno常用注解-entity实体-enums常用枚举-event领域事件-listener事件监听-messaging生产者接口(实现在infra层)-r
本篇起,将描述战术落地DDD遇见的问题以及解决方案。目录:落地架构package的划分类名划分模块依赖关系模块参数流转5.1增改参数流转5.2查询参数流转1.落地架构战术落地采用的是六边形模型架构,即app层和infra层均依赖domain层。image.png图片来源2.package的划分app应用层-dto应用层使用对象-factory(dto->do的工厂,接口和实现均在infra定义)-service应用层逻辑domain领域层-anno常用注解-entity实体-enums常用枚举-event领域事件-listener事件监听-messaging生产者接口(实现在infra层)-r