Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
限定上下文BC
幽默:没有逻辑约束的微服务
图中鸡蛋克和鸡蛋黄以及炉火三个微服务,如果为了吃一个煎鸡蛋,需要聚合这三个微服务调用。 这是过于细分导致的问题
使用反需求方法寻找隐藏的业务逻辑和系统边界
我们都喜欢建立绿地新项目。 但不可避免的是,开始一个新的项目需要与商业利益相关者进行大量的会议,以确定初始需求和典型的数据模型。这些都是......不那么有趣的。 当这些会议之一发生在高碳水化合物的午餐之后(米面等精致碳水导致胰岛素抵抗 容易发困,需要午睡),你的思想很容易飘走...
继承和OOP已经死亡了吗?
这是一个关于如何被迫放弃继承和面向对象编程的故事,作者仍然怀念它很长一段时间。为什么五年后的今天,作者还是认为继承在大多数情况下是一个较差的选择。 Rust 和 Go 等新兴语言非常强烈地反对继承,许多工程师似乎也同意这一点。这就是继承的终结吗? 大约五年前,我开始编写 Go
验证与业务规则的区别 - Mark Seemann
验证是区别于业务规则的定义。 本文提出了软件开发中验证的定义: 介绍了我目前是如何区分验证和业务规则的。 我发现这种区分是有用的,尽管这也许是一个因果关系颠倒的例子。 我的定义是这样的: 验证是一个决定数据是否可以接受的纯函数。
Clean整洁架构与外部系统集成的验证
使用Clean清洁架构注意:请勿将系统直接连接到外部系统!需要通过适配器转换或验证: 在企业应用中,我们经常需要与第三方系统集成。例如,如果我们有一个订购系统,我们可能需要将其与企业资源规划系统和快递系统集成。在工业自动化领域,我们可能需要与传感器集成。 与第三方系统集成的可能性包括以下几种:
什么创造力?创造力是一个动态的、变革的和相互关联的涌现过程
几个世纪以来,对创造力的探索一直吸引着不同领域的思想家,产生了丰富多样的观点。 一些最有影响力的观点来自查尔斯·桑德斯·皮尔斯、吉尔·德勒兹、
团队拓扑:模块化与划分团队相结合
Martin Fowler的同事Matthew Foster描述了团队拓扑和领域驱动设计如何帮助组织扩展技术架构和团队结构,从而显着提高开发速度。 模块化架构能改善软件交付吗? 是的!但要注意一些问题。 这篇文章记录了一个企业的历程,他们为了减轻成长的痛苦,开始将
分而治之是软件工程的核心!
分而治之(Divide and Conquer)是一个强大的算法范例(banq注:其实是一种哲学方法,严格不属于算法): 通过将复杂问题分解为更小,更易于管理的子问题来解决复杂问题。 [b]分(Divide )[/b] 这一步将问题分成更小、更易管理的子问题。 这
UML中只有时序图给软件开发带来好处
当你记录一个系统的不同部分以及这些部分之间相互作用的各种方式时,时序图/序列图( sequence diagram)才会真正发挥其作用。 时序图/序列图描述了系统内的操作,并
系统设计是什么? - maheshba
在我研究生涯的早期,我曾有机会与世界上一些最优秀的系统研究人员一起研究一些非常有趣的系统设计。 研究工作的乐趣之一在于研究人员(尤其是 SOSP/OSDI 社区的研究人员)在提出新颖而实用的设计方案时所采用的特殊过程。 这一设计过程的特点可以概括为 "以抽象对抗复杂":在任何复杂的环境中,如何将复杂
业务行为规则的五个问题
群体和社区的规则的关键特征是,个人和组织(以及机器)有时会打破规则。 这很明显。它一直在发生。只要看看你的周围。想想我们花了多少时间和精力去预测、检测和制裁违规行为。这就是为什么我们有监管机构、警察和监狱。还有合规部门。还有无休止的数据清理活动。 人和组织有代理权;作为演员,他们有自由意
什么是相空间以及在软件测试中应用
相空间(Phase Space) 的概念是由 "动态系统理论 "提出的。 "动态系统理论 "是一个数学领域,它描述了复杂系统的存在及其相互猜想和独立的行为。 相空间是一个系统存在所有可能状态的空间;而这些状态以独立的形式共存并相互对应。 举例:一个参数化的太阳系和存在于该系统中的相互猜想的物体,存
Toki Pona:一种只有约 120 个单词的通用语言
Toki pona 是一种围绕语言尽可能简单理念而设计的Conlangs(人工语言)。除了 Toki Pona 之外,还有世界语和 Solresol另外两种国际语言的尝试。 Toki Pona 是由 Sonja Lang创作的,这是网址:[url]
室温超导LK-99的市场规模?
如果 LK-99 是室温常压超导体: (banq注:这是一个假设前提,是当前上下文的前提条件,是上文,以下是基于这个前提条件推理过程,如果你这个前提条件不成立,本上下文所有推理无效)。 这将是一个大事件:LK-99将是人类历史的分水岭,可以将其与晶体管发明相提并论。 根据LK-99最终的工程特性,
攀登“模块化”之山
作为软件开发人员的培训师和教练,我看到模块化软件设计(例如,面向对象或微服务)对人们来说是一种难以理解的技能。 在许多不同的模块化层面(方法和功能、类和模块、包和组件、流程、服务、服务器、系统和系统的系统),用许多不同的方式来解释它,这并没有什
DDD实践中如何设计上下文BC之间的映射关系?
如何区分产品基础设施和技术基础设施 : 技术基础架构--不需要构建业务/产品背景,主要由开发人员使用。它不会立即影响用户体验,并且可以包含在一个特定的行会中。 产品基础设施——影响用户体验或有产品需求。 平台组负责产品基础设施,而相关技术组负责技术基础设施。 日志记录:属于技术基础架构,因为仅限
如何将核心服务与单体应用解耦?
与许多其他产品一样,WeTransfer最初是一个小型单体应用程序,但很快就变成了一个拥有太多责任和贡献者的大型单体应用程序。发布新功能变得越来越困难,技术债务也在增加。这就是为什么我们开始将一
如何制定战略?
对医生来说,其最大的挑战是:对一系列体征和症状以及病史。医生要做出临床诊断,指出疾病或病理。 选择的治疗方法属于一种指导策略。 医生对饮食、治疗和药物开出的具体处方属于一整套连贯的行动。 制定战略三个步骤: 定义或解释挑战性质的诊断:好的诊断通过确定情况的某些关键方面,简化了往往令人难以承受的复杂现
上页
下页