• 请不要在回答技术问题时复制粘贴 AI 生成的内容
lotusp
V2EX  ›  程序员

分层架构,经典却很难做好

  •  1
     
  •   lotusp · Apr 19, 2022 · 6402 views
    This topic created in 1662 days ago, the information mentioned may be changed or developed.

    之前整理过一篇关于分层架构的文章:分层架构:一个经典却得不到优的难题

    分层架构最经典也最容易上手,但做好也是最难的,实际开发过程中,要么某一层过大过厚,要么层与层之间互相调用。

    你的系统代码都是采用什么架构?有什么比较好的实践?欢迎讨论~

    15 replies  •  2022-08-29 17:49:13 +08:00
    yule111222
    yule111222
    Apr 19, 2022
    1
    DDD 棱形对称架构
    分层 或者 每个层里面不同类型的对象需要很强的约束,只承担自己应该承担的职责绝不多做半点事,这需要团队有很强力的 code review 机制才能做到
    K1W1
    K1W1
    Apr 19, 2022 via Android
    2
    "层与层相互调用"说明依赖没设置好,要自下而上,单向依赖呀
    wanguorui123
    wanguorui123
    Apr 19, 2022
    3
    主要是实体、业务层、数据层的抽象不够彻底,导致最终业务写成一坨又一坨,无法复用各个层之间的关系,彻底分层需要很强的心智和自律
    3dwelcome
    3dwelcome
    Apr 19, 2022❤️1
    4
    第一,代码会随着时间的推移,变得越来越乱。这和架构选择没有必然关系,和新需求的不断加入,有直接关系。我称之为代码熵增。

    第二,减少熵增最佳实践,就是定期重构。
    golangLover
    golangLover
    Apr 19, 2022 via Android
    5
    @wanguorui123 隔壁的网友会告诉你能跑就行了。那以后肯定就是踩雷。种因得果而已
    gfreezy
    gfreezy
    Apr 19, 2022
    6
    静态检查确保单项依赖
    lessMonologue
    lessMonologue
    Apr 19, 2022
    7
    目前对这个问题是有心无力的感觉。希望从各位道友的回答里管中窥豹
    timethinker
    timethinker
    Apr 19, 2022❤️1
    8
    你有没有想过,有时候可能并不是单纯的技术原因所导致的,而是一次又一次变形的需求?层层加码,而又没有时间回过头来梳理和重构,必定会导致这些问题。
    xuanbg
    xuanbg
    Apr 19, 2022
    9
    能垂直切的都切成微服务了。。。切小后就没必要分层了。
    RainCats
    RainCats
    Apr 20, 2022
    10
    跟技术关系不大,因为都是业务驱动
    goofish
    goofish
    Aug 29, 2022
    11
    怎么回事,为什么 132 天前回复的帖子置顶了?
    nothingistrue
    nothingistrue
    Aug 29, 2022
    12
    卧槽,挖坟
    wolfie
    wolfie
    Aug 29, 2022
    13
    @xhldtc
    OP 可以自己用硬币置顶,你看墨刀招聘 /t/849162 ,一段时间就置顶一次。
    micean
    micean
    Aug 29, 2022
    14
    对于单一团队来说,业务代码写成一坨就是最佳实践……
    jones2000
    jones2000
    Aug 29, 2022
    15
    框架是死的, 业务需求是活的。 活人这么能被框架限死呢,根据实际情况调整框架,不要照本宣科。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4785 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 08:18 · PVG 16:18 · LAX 00:18 · JFK 03:18
    ♥ Do have faith in what you're doing.