在五一休假期间抽了点时间,完成了myddd starter的第一个版本,这是一个非常早期的版本,但也已经可以使用了。
在我向你介绍myddd starter之前,先介绍下myddd
什么是myddd
myddd致力于实践与传播领域驱动理念。它包含开源框架,但更重要的是规范倡导。
结合我自身的经验,在后台,移动端(iOS,Android),前端以及基于Electron桌面开发全栈式理念与实践DDD规范
范围
myddd当前主要涵盖到以下技术方向
1.后端 (Kotlin + Vert.x)2.后端 (Java + Spring Boot) 已转向Kotlin + Vert.x3.基于Electron桌面端(Electron+TS + React)4.前端 (TS + REACT)5.Android (Kotlin) 计划中,未开始6.iOS (Swift) 计划中,未开始
理念
1.坚持以ddd领域驱动思想及整洁架构来驱动各端开发2.尽量不重复制造轮子,而是将主流语言,框架或技术搭配起来,遵照DDD理念进行规范。3.ddd概念众多,众人理解各有偏差,我个人不喜欢与人争议DDD的理念,想法及实践,凡事以自己的理解与实践为核心,故取名为myddd。4.myddd含义为:ddd,我的理解,我的实践,我的传播。
myddd由我个人使用自己业余时间维护。
myddd 2021 规划
myddd在后端,前端及基于Electron的桌面开发已具备雏形,其在移动端的相关实践与规范仍有待开始。
虽然过去数年,我花了较多的时间在移动端两端的开发上,但由于当时自己对编码的领悟与理解,并未将ddd相关理念应用到其上面。所以,移动端这一块仍是空白。
预期今年将会实践。我会以微言码道的app来做实践项目。
myddd的官方开源地址是: https://gitee.com/mydddOrg
myddd starter
myddd starter的官方网站是:https://starter.taoofcode.cc
由于myddd更多的着重于编码的规范,它是对DDD领域驱动编码的实践,同时也是对Robert C. Martin的整洁架构的倡导。在这个过程中我会抽取一些基础类库或者支撑框架,但它的重点仍在规范上。
因为有一定的规范,自然很多东西就会有约束,于是在项目的生成上我就觉得可以做一个简单的工具,这就是myddd starter。
myddd starter是快速生成myddd项目的工具,使用它可以快速生成一个myddd的初始项目,节省这一块的时间。
myddd starter当前支持以下维度的项目生成
•myddd-vertx 基于Kotlin与Vert.x的响应式领域驱动项目,用于后端开发•myddd-web 基于TypeScript与React的领域驱动风格的前端项目,用于前端页面开发•myddd-electron 基于Electron跨平台技术及TypeScript与React的桌面开发,用于跨平台桌面开发
规划与走向
由于是业余爱好,时间有限,不确定任何下一步的功能内容及时间节点。
但预期下一步要做的事在文档上,对已有的myddd-vert.x,myddd-web以及myddd-electron编写详细的编码指引文档。移动端的实践与基础框架也在计划中。
如果有兴趣,你可以关注微言码道的公众号或官方网站 https://taoofcode.cc 以随时了解相关进度。
有关联的一些文章
过去几个月,我写过的一些文章,有几篇与它稍有关联,附录在此,以便您访问与了解。
浅析整洁架构之道(一) 为什么需要整洁架构
浅析整洁架构之道(二) 初步了解The Clean Architecture
浅析整洁架构之道(三) 明析分层原则
为什么我会选择Vert.x与Kotlin
难以置信的性能优势,来自myddd-vert.x的性能测试报告