luckydraw-ddd系统说明
项目开发说明
通过gitcode克隆项目,结合章节学习内容进行相应的版本分支管理(对应不同分支的文件、SQL相关跟着项目对应分支版本走,以适配对应需求的迭代优化和兼容问题)
issue提交规范:https://gitcode.net/KnowledgePlanet/Lottery/-/issues 分支命名规范:日期_姓名首字母缩写_功能单词
# 主要type
feat: 增加新功能
fix: 修复bug
# 特殊type
docs: 只改动了文档相关的内容
style: 不影响代码含义的改动,例如去掉空格、改变缩进、增删分号
build: 构造工具的或者外部依赖的改动,例如webpack,npm
refactor: 代码重构时使用
revert: 执行git revert打印的message
# 暂不使用type
test: 添加测试或者修改现有测试
perf: 提高性能的改动
ci: 与CI(持续集成服务)有关的改动
chore: 不修改src或者test的其余修改,例如构建过程或辅助工具的变动
个人开发分支命名规范:dev_日期_[编号]_功能title
# 项目分支说明(不断学习更新中)
分支说明 | 内容说明 |
---|---|
领域开发 | |
dev_220101_01_initProject | DDD四层架构搭建 |
dev_220101_02_buildFramework | 广播模式RPC过程调用 |
dev_220115_tableDesign | |
dev_220116_strategy | |
dev_220105_subtractionStock | |
dev_220106_award | |
dev_220107_activity | |
dev_220108_IdGenerator | |
dev_220109_dbRouter | |
dev_220110_ActivityPartake | |
dev_220111_ApplicationActivityProcess | |
dev_220112_rule | |
dev_220113_vo2dto | |
dev_220114_mq_kafka | |
dev_220115_AsyncDistributionAward | |
dev_220116_xfg_xxl-job | |
dev_220117_MQCompensateJob | |
dev_220117_redis | |
运营后台 | |
应用场景 | |
系统运维 |
打卡日记
STAR:Situation Task Action Result的缩写。即(处境)、(任务)、(行动)、(结果)四个方面
领域开发01-DDD项目环境构建
S:day01-DDD入门
人人都有收藏癖,这个项目在收藏夹吃灰了一段时间,现在终于被我捞出来了,改掉拖延症第一步就是按时打卡交作业!!努力向各位大佬学习!!
T:学习任务
【1】DDD基本概念简单过滤
【2】基于DDD的lottery项目构建,基础知识点扩展
【3】RPC工程的配置和应用
A:
【1】大厂开发规范学习、DDD项目
【2】掌握DDD分层架构概念、模块分层的职责,以及RPC层单独拆分的目的等相关概念,一开始接触可能
会有点懵,后续结合项目应用时间进行分析,提出问题、重温概念、分析问题并解决(目前概念梳理还
是比较模糊,暂不纠结概念,结合实践项目操作再回过头去结合自己的理解重温概念)
【3】掌握多模块工程构建、RPC框架概念和简单应用,通过工程实践进一步对DDD概念有相应的了解
R:交作业
附链接:
领域开发02-
S:day02-DDD入门
抽奖策略库表设计、抽奖策略领域模块开发
T:学习目的
【1】掌握抽奖策略领域模块开发基本流程、概念梳理(对比MVC、DDD模块开发的设计理念)
【2】掌握抽奖算法场景应用和两种不同策略算法的实现思路
【3】结合单体概率算法思路自定义实现算法逻辑基本框架
【4】学习过程问题反思、扩展、总结
A:
【1】结合自己的理解和小傅哥视频讲解梳理了MVC架构、模块化开发、DDD领域开发概念图示
【2】重温“策略模式”设计概念和思路,参考issue中提出的枚举+自定义注解概念构建抽奖策略的动态注册
【3】了解抽奖算法的设计和实现,结合算法思路简单自定义实现逻辑设计
【4】先码住部分问题,后续结合开发实践再回温
R:交作业
附链接:
领域开发03-
S:day03&04-DDD入门
模板模式处理抽奖流程、简单工厂搭建发奖领域、活动领域的配置与状态、 ID生成策略领域开发
T:学习目的
通过领域构建学习设计模式:strategy/draw抽奖领域构建(模板模式)、award发奖领域构建(简单工厂模式)、活动领域配置和状态(状态模式)、ID生成领域构建(策略模式)
A:
【1】模板模式处理抽奖流程:基于模板设计模式,规范化抽奖执行流程,掌握抽奖流程和相应的业务逻辑
【2】简单工厂搭建发奖领域:数据库规范:数据库整改、dao层调整;发奖领域构建、重温简单工厂模式
【3】活动领域配置和状态:活动创建实现、活动状态变更状态梳理,
【4】ID生成领域构建:根据不同场景分析不同ID策略的应用(RandomStringUtils、时间戳拼接、hutool封装的雪花算法)
R:交作业
附链接:
目前学习的内容主要还是基于领域构建,在原有项目基础上依据ddd规范调整了项目结构,重温了一些设计模式的思路和实现,也简单梳理了一些操作过程中遇到的问题和解决思路(例如循环依赖、活动状态梳理),目前侧重还是先把项目大致框架构建思路梳理、整理实践过程中遇到的一些小问题,后续再慢慢去钻细节实现和扩展