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

推荐订阅源

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

最近在做一个对象存储改造,把之前存储在ecs服务器里面的对象迁移到国产的对象存储服务器里面,用的应该是腾讯的对象存储服务器,亚马逊S3的SDK

涉及到很多微服务组件,每个组件都要双写、降级读改造,同时要把原来的对象,迁移到新的对象存储服务器。工作量还是比较大的,要排查用到的地方、整改、迁移、验证。这也是微服务的一个不完美的地方,所以微服务也不是银弹。

我问了下大模型,什么是银弹。银弹就是可以解决所有问题的方法,不存在可以解决所有问题的方法。解决方案有有点和缺点,要结合实际场景,我们需要什么,不需要什么。

这次排查、修改过程中,很多上传下载的逻辑都很散、导出都有。排查效率低、难度大,容易排查漏。所以我们在写代码的时候要做到高内聚、低耦合

把对象存储相关的逻辑放大一起,不要散落在各个地方

也问了下大模型,什么是高内聚、低耦合

高内聚,就是相同的功能放到一个模块。比如登录模块里面,就不要把数据库连接管理放到这里面。高内聚可以实现职责单一,这样修改一个地方,就不会影响其他地方

低耦合,两个组件之间了解、依赖的程度很低,低耦合。A模块要获取B模块的一个属性值,比如name,可以通过封装一个方法getName()。这样不管B模块内部字段名是name还是cnName还是enName,对A模块是没有影响的。这样是依赖倒置思想的体现。比如,引入消息中间件等,只对中间件关联

最近看公司代码,发现大量使用模板方法模式,这可能和开发语言是java,spring框架有关。可以使用spring的bean工厂,很容易实现工厂模式,再定义抽象类或者接口。也确实好用,满足开闭原则。

公司也在大量使用四层架构,类似ddd的阉割版。和之前领导说的,主要目的还是解耦,内聚