• 一个软件功能或特征(feature)由一个或多个逻辑上相关的系统能力组成,这些能力可以为用户提供价值,并由一组功能需求来描述的。 许多业务分析师使用这些功能特征作为描述项目范围的一种方式。然而,一个简单的列表并不容易显示各种功能的规模和复杂性。快速
  • 我不是编码猴子,我是用代码解决业务问题,我需要了解这个业务问题(问题空间、领域问题上下文、为什么会有这个问题?)才能做好! 作为一名开发人员/程序员,需要理解商业业务领域。如果有人这么说:作为一名SWE(软件工程师),你们带来的只是关于通用
  • 不久前,在一个并不遥远的IT世界里,架构师的角色被认为是不必要的。开发人员精通他们在大学数据库和网页设计课上学到的三层架构和ERD。精通对象建模、UML图解和文档的架构师只是臃肿的,是已逝的瀑布时代的遗物。 这在云计算时代已经完全改变了。现代的架构 icon
  • 在Airwallex,领域驱动设计(DDD)方法被用来指导如何对复杂的业务问题和系统设计进行建模。在这篇博客中,我们试图全面介绍用DDD模式对支付系统进行建模的做法。 简介支付系统是一个相当复杂和多变的系统,从订单、欺诈、通知 icon
  • 无论是敏捷和瀑布,软件开发都有一个设计过程,实际也是了解知识准备过程,属于坐而论道,那么什么时候动手开干? 1. 首先,动手开干的标志是什么?见这篇文章: icon
  • 数据 vs 算法 = 上下文 vs. 聚合从对应位置来看: “数据”=“上下文” “算法”= “聚合” 数据=上下文首先,数据本身是上下文的一种体现,如果你熟悉写 icon
  • 为什么我们系统的模块耦合度如此之高?是因为他们缺乏凝聚力吗?(banq注:为什么人员在团队之间流动这么频繁?为什么团队之间开会如此频繁?是因为这些团队内部缺乏凝聚力吗?缺乏核心凝聚吗?) 案例:有人说:我们的系统是自 COBOL 和 FORTRAN 时 icon
  • 过去这十年规则平台的机会不仅仅是变得更智能,虽然这当然很重要,而且还可以消除程序员的工作量。但是存在三个挑战: 问题 1.我们是否取得了重大进展? 这个问题很简单——绝对!决策和 DMN 标准为行业做出了重大贡献。所以,我们可以继续前进。  icon
  • 在构建 REST api 时,您会选择: 选项 A: < icon
  • Scott Wlaschin 是一名开发人员、架构师和作家。他是流行的 F# 网站 fsharpforfunandprofit.com 的作者,以及 Pragmatic Bookshelf 出版的《Domain Modeling Made Functional》一书的作者。Scott 以其对 icon
  • 数据库优先ORM模型(db first ORM)的定义:根据数据库自动生成代码,而不是根据代码生成数据库表,如 sqlc、sqlBoiler;另外一种ORM模型是:根据代码自动生成数据库表,这种称为代码优先ORM模型(code first ORM模型),如GORM、sqlx和sql icon
  • Susanne 解释了她如何将 3 种不同的方法(Wardley映射、领域驱动设计和团队拓扑)联系起来,以设计和构建自适应系统以实现快速变化,以及为什么任何组织都必须拥有自适应系统。她是即将出版的《具有领域驱动设计、Wardley映射和团队拓扑的自适应系统:流程架构》一书的作者。 < icon
  • SOLID原则是建立一个组件间低耦合度的系统的有力工具。 首先对这些原则做一个简单的回顾: SRP:单一责任原则 OCP:开放封闭原则 Liskov替代原则 接口隔离 依赖性反转 icon
  • 学习领域驱动设计DDD、软件架构、设计模式、最佳实践的包含Javascript案例 该项目的主要重点是就如何设计领域驱动六边形 icon
  • 交易型(Transactional )应用是让你能完成某些任务的应用程序。这个任务可能很简单,比如检查一个正在运输的箱子的位置,或者给一个朋友或同事发送一个信息。该应用程序协助用户完成一个目标,但该应用程序本身并不是目标。一个很好的例子是一个包裹跟踪应用程序,它告诉你你的包裹在哪里, icon
  • 每家公司都有定义其程序、政策和业务功能的规则和流程。这些规则支配着决策管理: 开发处理客户信用申请的应用程序 贷款申请和处理, 注册后会发生什么, 当客户被允许增加其透支额度时 这些决策背后是定义流程和条件的业务规则。这些规则 icon
  • 我们目前还没有一种用于DI(Design Intent设计意图的简称,意图包括架构,业务规则)的语言。当DI被嵌入到了代码中的会出现病症:如果你需要重构,那么很可能代码还没有被切分为DI和实现两个部分。 过多的细节走向了DI的对立面。  icon
  • 首先什么是敏捷?它来自哪里? 我第一次遇到敏捷是在图书馆的工作中。我被雇来帮助一个新的数字学术中心落地,有时与图书馆的软件开发团队合作,建立工具来支持我们的项目。这个团队大约有六名成员,我马上注意到他们做事的方式与非技术人员不同。在会议上,他们不谈 icon