Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
Clean整洁架构教程
软件架构的洋葱和六边形,可能只是换了个马甲的“老中医”
一位程序员的灵魂觉醒:他花了一个月研究“洋葱”和“六边形”架构,结果发现这些听着高大上的东西,核心思想其实就是“依赖倒置”和“面向接口编程”这两个老祖宗早就玩剩下的。他犀利地指出,这不过是一场“新瓶装旧酒”的学术营销,把简单的东西包装得神乎其神,就为了卖课卖书。文章用幽默吐槽的方式,拆穿了这些架构神
分层 vs 六边形:六边形架构其实早就藏在三层架构代码里
优秀的分层架构通过接口边界和依赖反转,已经具备六边形架构90%的核心能力。两种架构差异更多体现在思维模型与包名表达,而不是代码逻辑本身。理解这一点,能帮你省下三个月重构时间。 传统分层架构:程序世界里的三明治结构
业务模块+基础设施模块:MIM架构打破僵化分层架构!
MM架构是一种结合了模块化软件设计与Clean/Hexagonal/Onion架构精髓的应用架构,通过业务模块(Business-Modules)和基础设施模块(Infrastructure-Modules)的分离来实现高内聚、低耦合和可测试性。
为什么Clean架构和过度分层不适合GoLang?
不要强行将 Clean Architecture 和类似模式引入 GoLang 项目。 GoLang 不是 Java: 没有任何应用程序大小或复杂性能够证明超过三层是合理的。 像 Clean
认知负荷才是软件开发中最重要的
市面上有这么多流行术语和最佳实践,但让我们关注一些更基本的东西,重要的是开发人员在浏览代码时感到的困惑程度。
代码可维护性的游戏已结束
游戏结束了! 那些说Vibecoding(氛围感编码)写的代码没法维护的人,根本没意识到,用不了几年,只要你说一声,人工智
探索清洁clean架构:实用指南
想象一下,您的系统需要支持新的数据库或不同的用户界面。使用 Clean Architecture,此类更改变得更容易处理,因为核心业务逻辑不会受到外部依赖项的影响。正如 Bob 大叔所强调的那样,应用程序的中心应该是用例和业务逻辑,而不是框架或数据库。 <
代码越干净,系统越乱?
干净的代码是不够的——内聚是一个系统级的问题: (敲黑板)同学们注意啦!今天咱们要聊的是一个超级重要的编程概念——"代码团伙的凝聚力"!别看名字高大上,其实就跟咱们班分组做值日一个道理!
软件架构致命陷阱:分层
大多数写软件的团队会习惯性地把代码分成几层(比如控制层、服务层、数据库层),或者按技术工种分(比如做页面的/做后台的、做接口的/管数据库的)。这么分乍一看挺整齐,大家都熟悉,感觉也挺踏实。但是当软件越做越大时,就开始出些麻烦事了。 比如你只改了一行业务逻辑
架构设计本质:不停息的权衡对话
附实战决策框架+反模式清单 架构不是填空题: 分层/六边形/微服务等模板只是起点,不是终点
Clean架构和DDD在什么情况下不是一个好主意?
我喜欢 DDD 和清洁架构背后的概念,但我觉得在某些情况下我可能只是做错了或者将它应用于正确类型的应用程序。我正在为域实体(QueryGroup)添加更新操作,并添加了两种方法,如下所示简化显示:
分层架构是坑?业务模块真香!
前两天我特意去打听现在那些时髦的SPA前端用的REST程序,代码量跟淘宝、B站这种级别差不多大。我这种老Java程序员觉得最顺手的写法就是: controller控制流程、 service干脏活累活、 entity当数据模型、 repository管仓库、 <
整洁clean代码的好坏丑总结
Robert C. Martin 的《代码整洁之道》是一本开创性的编程书籍。包括我在内的整整一代开发人员都通过 Bob 大叔的建议成为了更好的程序员。但近二十年后,这本书是否仍然符合其高标准?《代码整洁之道》中的一些建议是否值得怀疑甚至错误?现在有更好的替代方案吗?
接口抽象会提前复杂化
在企业软件领域,抽象(尤其是接口)被誉为优秀设计的标志。它们保证了灵活性、松耦合、可测试性,并遵循 SOLID 原则。我们在代码审查中推崇它们,在架构图中强制使用它们,并将它们不断注入到我们的应用程序中。 但不知从何时起,接口不再是一种手段,反而成了目的。
六边形架构与贫血模型讨论
这篇对话主要讨论了六边形架构以及它与MVC、SOA架构的区别,特别是关于领域模型和业务逻辑的处理方式。以下是对话的大白话整理:背景:对话者正在研究六边形架构,之前有MVC和SOA架构的经验。在SOA架构中,通常会使用“贫血模型”(POJOs),即领域对象(如Cart)只是简单
不要再混淆 CQRS 和 MediatR
.NET 生态系统逐渐将CQRS 和 MediatR两个概念融合在一起,形成了一种几乎反射性的响应:CQRS 等于 MediatR。 这种思维捷径让无数团队陷入不必要的复杂性。其他团队则完全避免使用 CQRS,担心又多了一个消息传递框架的开销。在本
企业级软件项目文件结构布局指南(含包结构图)
这是提供企业级软件项目文件结构布局指南,通过严格分离纯业务逻辑与基础设施代码,实现高可维护性与可测试性,并支持按项目规模灵活简化。点击标题 项目结构终极参考 刚打开一个新
Clean架构:Go中用插件实现依赖反转示例
今天,让我们来探索一下 Go 的插件系统如何实现SOLID 设计原则和
下页