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

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

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

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

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

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

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

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