惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
P
Palo Alto Networks Blog
阮一峰的网络日志
阮一峰的网络日志
博客园_首页
Last Week in AI
Last Week in AI
Blog — PlanetScale
Blog — PlanetScale
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
J
Java Code Geeks
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - Franky
The Cloudflare Blog
I
Intezer
P
Privacy International News Feed
C
Check Point Blog
C
CERT Recently Published Vulnerability Notes
Apple Machine Learning Research
Apple Machine Learning Research
H
Hackread – Cybersecurity News, Data Breaches, AI and More
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The Hacker News
The Hacker News
B
Blog
Latest news
Latest news
小众软件
小众软件
Engineering at Meta
Engineering at Meta
Cyberwarzone
Cyberwarzone
Project Zero
Project Zero
P
Proofpoint News Feed
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
S
Schneier on Security
美团技术团队
G
GRAHAM CLULEY
博客园 - 司徒正美
T
Threatpost
D
Darknet – Hacking Tools, Hacker News & Cyber Security
博客园 - 叶小钗
C
Cisco Blogs
MongoDB | Blog
MongoDB | Blog
人人都是产品经理
人人都是产品经理
博客园 - 三生石上(FineUI控件)
H
Help Net Security
Simon Willison's Weblog
Simon Willison's Weblog
Cisco Talos Blog
Cisco Talos Blog
K
Kaspersky official blog
NISL@THU
NISL@THU
AWS News Blog
AWS News Blog
T
Threat Research - Cisco Blogs
月光博客
月光博客
Security Latest
Security Latest
Scott Helme
Scott Helme
T
Tenable Blog

博客园 - luckygxf

架构积累-系统划分 架构积累-软件架构终极目标 javascript构造方法 数据库连接池初始连接 分布式系统CAP理论(一) 数据库连接太多排查(一) 审批流程-节点自动审批通过 防表单重复提交 深分页问题 devops 对象存储迁移-组件上线 工作效率提升 新需求开发-重构老的逻辑 js析构赋值 React框架Hello world 数据库表设计在哪个接口 需求实现-ddd四层架构实现 前端代码(一) 高内聚,低耦合 对象存储改造 mermaid初体验 业务逻辑优化-解决提示词问题打分不准 idea 插件envfile初体验 防盗链-防盗用链接 springboot项目启动小技巧 github托管网站 AI MCP开发 AI中 MCP 作用 mapconstruct 初体验 架构积累-解耦与防腐 表创建索引的重要性 重构注意事项(一) drawio初体验 六边形架构 架构积累-依赖注入和SOLID原则 工作总结-定时任务 工作总结-知识通关需求上线 工作总结-演练场景映射方案 工作总结-MVP 工作总结-需要学习的方向 工作总结-接口优化 python asyncio demo 工作总结-sse接口心跳 工作总结-问题筛选方案 工作总结-工具分享 工作总结-提示词优化 工作总结-工作优先级 工作总结-灰度发布
框架的好处和不足
luckygxf · 2026-05-12 · via 博客园 - luckygxf

新加入的组,主要使用java开发,之前的组用的是python。都是ddd四层架构,框架是公司基于springboot自研的框架。面向云的框架,同时,集成了公司一些基础设施的功能,比如配置中心等。

新需求、新框架,今天在开发的时候,遇到一些问题。比如代码应该放到四层架构的哪一层,放到哪个包下面。一边看原来的实现,一边问大模型。

公司在基础设施数据库访问这一层,基于mybatis做了路由,java mapper里面使用mapperid,不带数据库。mapper xml里面定义mapperid,这个mapperid带数据库,比如xxxsqlid$xxdb。通过$隔离isqld和数据库。这样可以跟精细的控制访问的数据,比如读写分离等

今天要实现要一个分页查询,公司封装的查询组件,方法只能传mapperid和查询条件。分页查询要把分页信息放到查询参数里面,我把po类作为了查询类型。分页字段不能加到po类里面,只能新建一个查询类,集成po类,加上分页字段。

使用过滤器+工厂模式实现对列表的过滤,可以在不同场景,组合不同的过滤条件。本来想工厂定义一个静态方法,有些过滤器的实现,是spring管理的。那在工厂里面就不能new 过滤器了,只能通过把工厂注入到spring容器中

框架可以帮我们节省很多重复的工作,提高我们的开发效率。也有一些局限,必须要按照框架的标准来做,比如上面说的分页查询,或者工厂模式注入到spring容器。如果不按照框架的标准操作来,后面框架更新了功能,原来的功能得不到升级。有利有弊

今天又和领导沟通了设计建模,需求分析这一块用的时间比较多。梳理用户地图、业务建模、模块划分等,识别领域对象。用户地图活动、任务、命令,要使用业务含义的。比如发送通知,可以优化为通知用户。业务命令识别不完整,比如过滤列表前要先查询列表。每个活动之前没有关联关系,比如这个活动依赖上个活动的结果。

ddd四层架构里面的四层,适配器层、应用层、领域层、基础设施层,领域层的实体、值对象,值对象没有id,没有生命周期。还有什么聚合根等