架构设计
-
如何衡量软件系统的复杂度(三)
一、背景 前面两篇已经大体讨论了整个软件系统中的复杂度相关的衡量指标,但是如何相对客观的通过复杂度模型来构建出来并输出相关复杂度数据,就需要对不同的衡量指标和影响因素做量化,同时需…
-
天画-低代码平台(codeMaker)V3版本发布内容
一、背景 天画-codeMaker V3预览版本发布完成之后,受到了一波关注。同时对V3的整体版本也希望完成组件化架构升级,解决小伙伴试用过程中出现的一些问题。本次发布的内容会有点…
-
天画-codeMaker组件V3版本设计与实现
一、背景 codeMaker的V3预览版已经往组件化方向迈进了一步,但是仍然有一些需求和细节没有完成,因此本版本将是整个V3版本的最终特性发布内容,完全的释放codeMaker平台…
-
用Map+comsumer函数重构了1K多行代码
一、背景 天画V3版本改造的过程中也涉及到很多的重构,每次重构都将整体的代码复杂度,代码重复率进行管控,同时不影响已有功能,本篇将重点讲述一个照葫芦画瓢进行代码重构优化的案例。 二…
-
Java业务代码脚本引擎JAVS项目简介
一、背景 1.1 缘起 在天画-codeMaker的V3预览版的开发任务中,有几个任务是与细化代码生成相关的,比如在调用时序图中增加if,else,for循环等程序控制语句,基于J…
-
JavsScript核心语法和特性介绍
一、背景 上一篇介绍了Javs整体项目的相关内容,本篇将重点介绍一下JavsScript的核心语法和相关特性。这里将对整个Javs脚本语言中涉及到的概念和相关的规则定义等做一个相对…
-
DDD落地的思考–新时代的冲击
一、背景 1.1 背景 之前业余项目耽误了些时间,关于DDD方面的内容暂时搁置了,所以一个比较大的主题就暂时先搁置了,现在终于有时间来写一写令人比较兴奋的部分–DDD落…
-
Javs脚本解析引擎架构设计与实现
一、背景 1.1 技术背景 为了增强CodeMaker代码生成能力,特别构建了基于脚本语言的Javs语法和规则框架体系,但是需要引擎解析Javs脚本文件,所以需要构建一个JavsS…
-
DDD落地的思考–大佬向左,小弟向右
一、背景 在刚学DDD的时候,很多一起学习的小伙伴们都在寻找一些样例和架构,同时也有一些人比较热衷于寻找一个最标准的DDD实战案例。在我学习的后期已经准备构建一些这样的案例了,同时…
-
前端低代码平台需求调研
一、背景 目前天画-codemaker已经经过多个迭代把Java后端代码生成的整体功能基本实现,经过慎重思考决定实现一个前端低代码平台以拉通天画-codemaker,同时也是整个天…
-
amis4jweb前端低代码平台设计与实现
一、背景 经过前期的调研和需求相关的分析,基本确定了要做前端低代码平台,至于具体怎么做,如何实现,这里重点介绍一下基于百度Amis框架的前端低代码实现方案。 二、需求 2.1 核心…
-
DDD落地的思考–映射偏移模式
一、背景 DDD落地的思考系列已经写了两篇,接下来搞点干货,来总结一些新的模式。”映射”这个词在eric的书中出现了很多次,主要表达了各种模型之间的映射问题…
-
DDD落地的思考–数据容器模式
一、背景 现在我们来讨论一个在DDD理论和实践过程中老生常谈的问题–数据对象。也就是我们常说的JavaBean。比如很多人纠结在接口层是DTO还是VO,在数据库层是En…
-
DDD落地的思考–MVC+DDD理论与实践
一、背景 之前与一位群友讨论如何在MVC应用架构下使用DDD,让DDD的一些战略战术模式配合MVC的一些架构元素来完成整个应用工程的重构升级,本篇文章将重点剖析MVC架构的一些核心…
-
由Mysql死锁引发的服务高可用探讨
一、背景 最近在公司遇到两个服务可用性问题,一个是生产环境的,另一个是在联调环境中出现的。今天先聊一下在联调环境中出现的一个死锁问题。在整个排查过程中也学到了如何理解Mysql死锁…
-
DDD落地的思考–模板实例模式
一、背景 在业务开发过程中存在这样一种情况,比如草稿箱,类似于合同或者变更草稿,中间存在一些审批流程,审批完成之后将数据从草稿箱或者草稿表中移动到正式表中。可能其中的区别就在于一些…