知识卡片

逻辑只能在Business

普通读书笔记卡 · 168

内容

代码可分四层:Service对接用户需求,Glue Code组合业务调用并读写Repository,Business实现业务核心模型,Repository对应存储设备。核心规则是业务逻辑只允许存在于Business,其余三层严格顺序调用;一旦出现分支判断,说明该单元做了不止一件事,必须拆分。发散:review时若controller层出现大段if-else,可直接判定分层出了问题。

参考来源

- 位置:《架构漫谈》第8章《从架构的角度看如何写好代码》代码分层与「什么叫业务逻辑」两节(源文件:_epub-src/OEBPS/text00001.html) - 结论依据:原文明确划出Service/Glue Code/Business/Repository四层职责,并规定逻辑只允许存在于Business,其余层出现分支即说明违反了单一职责,直接支持卡片论点。 - 原始内容:"逻辑只允许存在于Business中,Service、Glue Code、Repository都不允许存在业务逻辑……如果service里面不是严格的顺序调用,有很多分支,那么说明这个service做了两件或者两件以上的事情。必须把这个service分拆"