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

推荐订阅源

The Hacker News
The Hacker News
D
Docker
GbyAI
GbyAI
Y
Y Combinator Blog
C
Check Point Blog
M
MIT News - Artificial intelligence
Martin Fowler
Martin Fowler
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Blog — PlanetScale
Blog — PlanetScale
P
Palo Alto Networks Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
V
Vulnerabilities – Threatpost
I
InfoQ
Simon Willison's Weblog
Simon Willison's Weblog
博客园_首页
T
Threat Research - Cisco Blogs
J
Java Code Geeks
Hacker News - Newest:
Hacker News - Newest: "LLM"
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
The Register - Security
The Register - Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
阮一峰的网络日志
阮一峰的网络日志
O
OpenAI News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Recent Announcements
Recent Announcements
Forbes - Security
Forbes - Security
AWS News Blog
AWS News Blog
雷峰网
雷峰网
博客园 - 三生石上(FineUI控件)
S
Security Affairs
H
Heimdal Security Blog
Engineering at Meta
Engineering at Meta
T
Troy Hunt's Blog
T
Tenable Blog
MongoDB | Blog
MongoDB | Blog
H
Hacker News: Front Page
IT之家
IT之家
N
News and Events Feed by Topic
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
G
GRAHAM CLULEY
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
Visual Studio Blog
S
Secure Thoughts
U
Unit 42
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
The Last Watchdog
The Last Watchdog
S
Security @ Cisco Blogs
NISL@THU
NISL@THU
T
The Blog of Author Tim Ferriss

博客园 - 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-11 · via 博客园 - luckygxf

接到一个需求后,熟悉完需求,我开始做的,一般就是设计数据库表。看需要新增哪些数据库表,每个表需要哪些字段,每个表的主键、索引,后面两个是我最近入职新公司学习的,这还是比较重要的。对后期性能影响比较大,尤其是索引。新公司要求代码检视的时候,每条数据库查询的sql都要有explain执行计划,不能全表扫描

最近在做需求的时候,公司主推DDD四层架构,开始是需求分析:梳理用户地图,有哪些角色、每个角色有哪些活动、每个活动有哪些任务,每个任务有哪些命令。然后是业务建模,识别有哪些领域对象

然后是技术建模,领域层domain、适配器层adapter:web,consumer等、应用层application、基础设施层infruscture

然后是数据库表设计

如果需要新增微服务模块等,还要分析新增微服务,模块

这和我之前一直用的mvc三层架构不一样,之前领导问我接到需求,设计方案的时候应该第一步先做什么?我直接说设计数据库表

问了下deepseek,mvc三层架构和ddd四层架构设计流程有什么区别

// Order.java (领域实体)
public class Order {
    public void applyDiscount(Member member) {
        if (member.isVip()) {
            this.discount = new Discount(0.8); // 值对象
        }
    }
}

// OrderApplicationService.java (应用层仅编排)
public void createOrder(CreateOrderCommand cmd) {
    Order order = new Order(cmd.getItems());
    Member member = memberRepo.findById(cmd.getUserId());
    order.applyDiscount(member);    // 领域规则
    order.calculateTotalPrice();    // 领域规则
    orderRepo.save(order);          // 基础实施
    eventPublisher.publish(new OrderCreatedEvent(order));
}

所以领导问我设计方案第一步做什么,我直接说数据库,也是符合我的经历的,一直用的都是mvc三层架构。
mvc三层架构也是有优点的,简单,高效。四层架构,需要各种转,比如dto到entity转换,entity到po转换,各种防腐接口。虽然有mapstruct这些框架做转换,还有有一些实现成本在里面的