Rhodi

深入理解DDD中的聚合根及其实践要点

深入理解DDD中的聚合根及其实践要点 领域驱动设计(DDD)是软件架构领域的重要思想工具,而聚合根则是其中最关键的概念之一。本文将围绕聚合根的生命周期、与Entity的区别、业务副作用、聚合根与仓储模式的配合等主题,结合实际开发经验进行梳理和扩展,加深对聚合这一模式的理解。 1. 聚合根的生命周期 聚合根的生命周期,通常要比分层架构中的Entity要长。这是因为聚合根承担着完整业务事务...

js的自动分号插入

在书写js代码时,语句末尾的分号是可以不写的.我最初以为,js解释器会自动将回车识别为语句的结束.但事实并不是这样. js拥有”自动分号插入机制”,简称ASI.而且,回车符在解释器眼中只是空白. 有关ASI的原则,这里简单列举一下 插入分号的情况 新行并入当前行将构成非法语句,自动插入分号. 在continue,return,break,throw后自动插入分号 ++、–后缀...

加密与签名

原文链接:阮一峰博客 本文总结一些关于非对称加密的要点,以及迷惑点。 公钥私钥效力相同,只是是否公开这一点不同。 公钥加密,私钥解密可以做到保密性,也就是不被监听。(加密过程请看原文) 私钥加密,公钥解密可以做到正确性,也就是不被篡改。(签名过程请看原文) 使用私钥将信息摘要进行加密,公钥解密后通过对比摘要的一致性来确保信息的正确性。这个过程叫做签名。 公钥有时需要...

委托和回调的区别

转自某评论区解答 简单讲一下委托和回调,以及C#的泛型委托 回调和委托是两个概念。 委托是C#里对函数的类型的描述。是对函数的一种抽象。 举个例子: 声明一个int a,我们可以一直改变他的值,但他的类型一直是 int。 类比一下,我们声明一个函数 void func1(){},但是这个函数就不能变了,在编译器眼里,func1()就代表执行该函数,func1就代表该函数。...