开发者社区> 问答> 正文

关于分层的讨论

分层思想,将系统横向切割,根据业务职责划分。划分的目的是规划软件系统的逻辑结构便于开发维护。但是,随着微服务的演变和不同研发的编码习惯,往往导致了代码分层不彻底导致引入了“坏味道”。

展开
收起
景凌凯 2020-04-22 17:35:24 924 0
1 条回答
写回答
取消 提交回答
  • 有点尴尬唉 你要寻找的东西已经被吃掉啦!
    • 复杂的大项目还是建议拆分开为好。
    • 不要为了拆而拆,明明有些业务很紧凑,耦合一起很OK,干嘛要拆,反而更容易造成分布式的事务处理,然后拖累性能。
    • 不同的 service 下出现分布式事物很正常,如果拆分的合理,很少出现这种情况。如果大量出现分布式事物,那就是业务拆分的不合理。事物最好交给自己的 service 管理,否则很容易出现长事物的可能。
    • 更多情况下,这种划分只业务复杂的场景。如果我一个简单的业务最多只需要 do 和 vo,如果有 rpc,在加一个 dto,就够啦。然而,其 do,vo 作用于不同的字段,bo 和 vo 很多场景下是等价的。划分的细,有好有坏,大量对象在工厂类中拷贝,代码的复杂性自然增加啦。分模块不一定会导致分布式事务,因为可以复用同一个数据库(本地事务)。而跨服务(跨进程)调用才是问题根源。
    2020-04-22 17:36:07
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
典型模型-卷积神经网络入门 从概念原理到应用实现 立即下载
为并行图数据处理提供高层抽象/语言 立即下载
如何成为一名优秀的工程师(语义篇) 立即下载