240 发简信
IP属地:江苏
  • @非非白 终于恢复了,你试试看呢?

    变化给架构带来的挑战(草稿)

    在软件开发过程中,一次分析、设计、建模、编码,我们面临的复杂问题就能够解决吗?显然,我们无法忽略随着时间向前而产生的另一种复杂度——变化。我们能显著感受到的伴随着时间而生的外...

  • 120
    迭代建模(草稿)

    需求发生的『良性』『显性』的变化就是软件不断迭代的驱动力,因此我们积累的领域知识和模型也要适应这种变化。关于提炼知识和建模,Eric Evans 也总结了一套名为*模型探讨漩...

  • @非非白 正在联系简书处理,谢谢提醒

    变化给架构带来的挑战(草稿)

    在软件开发过程中,一次分析、设计、建模、编码,我们面临的复杂问题就能够解决吗?显然,我们无法忽略随着时间向前而产生的另一种复杂度——变化。我们能显著感受到的伴随着时间而生的外...

  • 变化给架构带来的挑战(草稿)

    在软件开发过程中,一次分析、设计、建模、编码,我们面临的复杂问题就能够解决吗?显然,我们无法忽略随着时间向前而产生的另一种复杂度——变化。我们能显著感受到的伴随着时间而生的外...

  • @高杨_4be8 Google Drawing,类似普通画图工具

    17.清晰架构(01): 融合 DDD、洋葱架构、整洁架构、CQRS...(译)

    原文:https://herbertograca.com/2017/11/16/explicit-architecture-01-ddd-hexagonal-onion-cl...

  • 单看“任何一个外部层次都可以直接调用任何一个内部层次”这一句话会有些误导。

    我的理解:
    外部层次对内部层次的"调用",并不是外部可以调用任意内部的代码。外部调用的是内部层次暴露的公开"API"。公开"API"的设计一定是要保持一段时间的稳定的。内部层次同样可以有属于自己的实现,这一部分当然是可以变化、可以被修改的,只是不影响对外层公开的"API"。

    内部层次的公开"API"一定也会出现跟上不业务变化的情况,这时就要遵循"开闭原则"对"API"进行扩展,而不是修改。这些修改也会最终稳定下来变成新的公开"API"。只有少数情况需要对公开的"API"进行真正的修改,同样也有很多手段来避免对外层的影响。

    还有,业务逻辑的变化是一个动态的问题。在业务刚开始还充满不确定性的时候,代码一定也是经常发生变化的,这时还没有足够清晰的 ApplicationCore;随着业务逐渐成熟起来,ApplicationCore 才会不断被沉淀和抽象出来。当后面的业务再来组合、继承前面业务沉淀下来的 ApplicationCore 时,ApplicationCore 一定是相对稳定、可扩展的。

    所以,ApplicationCore的稳定是相对的(API 稳定、对扩展开放),不是绝对的(不能修改)。经常变化的业务逻辑需要分解:哪些属于 ApplicationCore,哪些属于 ApplicationCore 的扩展,哪些属于外层的业务逻辑。

    12.洋葱架构(译)

    原文:https://herbertograca.com/2017/09/21/onion-architecture/ 这篇文章是软件架构编年史(译)的一部分,这部编年史由一...

  • 120
    20. 用文档描述架构 (译)

    原文:https://herbertograca.com/2019/08/12/documenting-software-architecture/ 这篇文章是软件架构编年史...

  • 120
    19. 在代码中展现架构和领域(译)

    原文:https://herbertograca.com/2019/06/05/reflecting-architecture-and-domain-in-code/ 这篇文...

  • 120
    高效进行代码回顾(Code Review)

    代码回顾是帮助团队养成编写高质量代码的习惯的手段之一。 1. 代码回顾应该... 尽早发现代码中存在的问题,并进行修复。 提高代码的可读性,降低理解成本,进而降低维护成本。 ...

  • @流氓兔之夫 DDD是方法论,其中有驾构风格,架构模式,设计模式

    4.架构风格 vs. 架构模式 vs. 设计模式(译)

    原文:https://herbertograca.com/2017/07/28/architectural-styles-vs-architectural-patterns-...

  • 120
    Action-Domain-Responder(译)

    原文:https://herbertograca.com/2018/09/03/action-domain-responder/ 这篇文章是软件架构编年史(译)的一部分,这部...

  • Resource-Method-Representation(译)

    原文:https://herbertograca.com/2018/08/31/resource-method-representation/ 这篇文章是软件架构编年史(译)...

  • “Model 1” 和 “Model 2”(译)

    原文:https://herbertograca.com/2018/08/29/model-1-model-2/ 这篇文章是软件架构编年史(译)的一部分,这部编年史由一系列关...