这几天在为实习作准备,打算系统地重新学一下java基础。这里是我在看《Java核心技术卷I》的时候记下的一些小点,比较杂乱,但是也有一定的参考价值,放在这里给后来者和自己以后参考。 如有纰漏敬请指教!java的“大数值”(big number)是一个Java对象,能够表示任意精度的值用Double.isNaN()来判断是否为not a number,其他方法类似\n换行 \r回车声明一个变量之后必
转载
2024-09-20 06:49:01
18阅读
领域驱动设计(Domain-driven design,DDD)是一种为复杂需求开发软件的方法,它将软件的实现系...
转载
2022-08-13 00:30:15
203阅读
express 路由管理,通过 app.express(); app.METHOD(path,fn(req, res)的方式进行路由的配置。实现了请求的接口的路由的拆分。那么可以将路由配置,分发到不同的文件中,进行分类管理。非常的nice。那么单个接口的能不能拆分更小的粒度尽心管理呢,答案是可以的。那就是中间件的方式。 express在路由函数回调函数中进行中间
转载
2024-07-12 15:53:14
30阅读
1. 洋葱模型洋葱我们都知道,一层包裹着一层,层层递进,但是现在不是看其立体的结构,而是需要将洋葱切开来,从切开的平面来看,如图 所示:可以看到要从洋葱中心点穿过去,就必须先一层层向内穿入洋葱表皮进入中心点,然后再从中心点一层层向外穿出表皮,这里有个特点:进入时穿入了多少层表皮,出去时就必须穿出多少层表皮。先穿入表皮,后穿出表皮,符合我们所说的栈列表,先进后出的原则。2. 洋葱模型与Node的关系
转载
2023-12-21 08:35:34
244阅读
# 洋葱架构与领域驱动设计(DDD)的关系
在现代软件开发中,越来越多的团队开始关注洋葱架构(Onion Architecture)和领域驱动设计(Domain-Driven Design, DDD)。这两种架构模式之间的关系紧密相连,但它们各自的关注点和实现方式却存在差异。本文将探讨它们之间的联系,并通过代码示例和图示帮助读者更好地理解。
## 什么是洋葱架构?
洋葱架构是一种旨在使软件设
## 六边形架构、洋葱架构与DDD架构入门指南
在软件开发中,架构是构建稳定、可扩展和易于维护系统的基础。三种主流架构——六边形架构、洋葱架构和DDD(领域驱动设计)架构,都是围绕着同一个目标:在复杂性中保持清晰的业务逻辑和灵活的代码结构。本文将指导初学者了解这些架构,并通过示例代码逐步实现。
### 流程步骤
以下是实现这三种架构的基本流程:
| 步骤 | 描述
Wade Waldron是一位来自于BoldRadius的资深软件开发者,他在一次演讲中表示,他在几年前开始结合使用领域驱动设计(DDD)与洋葱架构,他的代码质量从此得到了极大的提高。一开始他仅仅使用了DDD,但随着结合使用洋葱架构,他发现他的代码更加易读易懂了,维护的难度也降低了许多。\\ 洋葱架构有时也被称为端口和适配器(Ports and Adapters)架构,或者是六边形(Hexago
转载
2023-12-21 16:04:56
65阅读
《DDD实战课》读书笔记四(几种常见的架构及对比)架构介绍整洁架构(洋葱架构)架构图架构说明六边形架构(端口适配器架构)架构图架构说明三种架构的对比与分析 架构介绍整洁架构(洋葱架构)架构图架构说明整洁架构的最主要原则是依赖原则,它定义了各层的依赖关系,越往里依赖越低,代码级别越高,越是核心能力。外圆代码只能指向内圆,内圆不需要知道外圆的任何情况。领域模型实现领域内核心业务逻辑,它封装了企业级的
转载
2023-10-17 15:08:55
48阅读
博主最近失业在家,找工作之余,看了一些关于洋葱(整洁)架构的资料和项目,有感而发,自己动手写了个洋葱架构解决方案,起名叫OnionArch。基于最新的.Net 7.0 RC1, 数据库采用PostgreSQL, 目前实现了包括多租户在内的12个特性。该架构解决方案主要参考了NorthwindTraders, sample-dotnet-core-cqrs-api 项目,&nbs
转载
2023-12-15 17:14:34
308阅读
前言因为对框架源码的生疏,笔者最近在看博文视点的陈昊的《Laravel框架关键技术解析》。看到书中反复提及的管道处理,写下一些自己的所思所想。书中一直在描述Laravel框架如何优雅,例如在第6章<Laravel框架中的设计模式>中写这个管道处理使用了装饰器模式,很elegant;在第7章<请求到响应的生命周期>又把装饰器模式提一遍,说中间件&请求是怎么用这个管道处
转载
2023-12-01 09:21:58
194阅读
刚开始做java开发,用博客记录一些知识,做以积累。这篇文章大部分都是翻译的英文资料,英语一般,翻译的有点蹩脚,外加自己的少部分理解。原英文资料:Domain-Driven Design with Onion Architecture国外一位开发者 Wade Waldron结合洋葱架构使用了领域驱动设计后,代码质量得到显著的提高,并且可读性、可理解性和易于维护性也都大大加强。洋葱架构有时候也被叫做
转载
2023-09-03 09:25:43
234阅读
1、Set基本用法ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set本身是一个构造函数,用来生成Set数据结构。var s = new Set();
[2, 3, 5, 4, 5, 2, 2].map(x => s.add(x));
for (let i of s) {
console.log(i);
}
// 2 3 5 4上面代码通过add
转载
2024-07-26 16:15:51
21阅读
# 理解DDD中的六边形架构和洋葱架构的区别
在软件开发中,设计架构是至关重要的一步。在领域驱动设计(DDD)中,六边形架构和洋葱架构都是用于组织业务逻辑和确保代码的可持续发展的常用架构。这篇文章将帮助刚入行的小白理解这两种架构的区别和实现方法。
## 整体流程
为了清楚了解六边形架构与洋葱架构的区别,我们将分步进行。以下是整个过程的步骤表:
| 步骤 | 描述
文章目录前言一、为什么要用洋葱架构?二、原则2.1、依赖性2.2、数据封装2.3、关注点的分离2.4、耦合性三、洋葱架构层四、领域模型/实体五、领域服务六、应用服务七、基础设施服务八、可观察性服务九、测试策略十、微服务十一、模块化与打包十二、框架、客户端和驱动十三、我们需要每个层吗?总结 前言领域驱动设计(Domain-driven design,DDD)是一种为复杂需求开发软件的方法,它将软件
# 洋葱架构:软件设计的新思路
洋葱架构(Onion Architecture)是一种软件架构模式,旨在通过分层结构来增强应用程序的可维护性和可测试性。其核心思想是以“洋葱”形象化不同层次之间的关系,从内到外逐层构建系统。接下来,我们将深入探讨洋葱架构的概念,以及如何在实际项目中实现它。
## 洋葱架构的层次
洋葱架构通常由以下几个层次组成:
1. **核心层(Domain Layer)*
# 理解和实现“洋葱架构”
洋葱架构(Onion Architecture)是一种用于软件开发的设计模式,旨在增强应用程序的可测试性和灵活性。它通过将应用程序的业务逻辑和外部依赖分离开来,构建一个层次分明的结构,在这种结构中,核心业务逻辑被放置在中心,而依赖关系逐渐向外扩展。
## 流程概述
下面是实现洋葱架构的一般步骤:
| 步骤 | 说明
六边形架构 个人理解 端口要么处理输入,要么处理输出 对于每种外界类型,都有一个适配器与之对应,外界通过应用层API与内部进行交互 事件驱动架构 总结 六边形架构是洋葱架构的一个超集 整洁架构是六边形架构的一个变体 洋葱架构,也称为整洁架构 洋葱架构、整洁架构 个人理解 依赖原则:代码依赖是从外向内
原创
2022-10-02 00:06:56
147阅读
领域驱动设计(Domain-driven design,DDD)是一种为复杂需求开发软件的方法,它将软件的实现与不断发展的核心业务概念模型紧密地结合在一起。领域是一个知识的范畴。它指的是我们的软件所要模拟的业务知识。领域驱动设计的中心是领域模型,它对一个领域的流程和规则有着深刻的理解。洋葱架构实现了这一概念,并极大地改善了代码的品质,降低了复杂性,并且支持不断发展的企业系统。为什么要用洋葱架构?领
转载
2024-04-28 10:19:48
68阅读
koa洋葱模型源码、洋葱模型的实现koa介绍koa源码解析目录针对application的use方法讲解洋葱模型中间件概念中间件工作原理:中间件执行顺序(洋葱模型): koa介绍koa是一个精简的node框架,它主要做了以下事情:基于node原生req和res为request和response对象赋能,并基于它们封装成一个context对象。基于async/await(generator)的中间
转载
2023-11-30 09:22:37
116阅读
————————————————————————————————————————————————————————《概览》tor 的源码包可以从官网下载,可能需要预先利用其它=*翻^=*墙*软件才能访问该站点。分析 tor 源码有助于我们理解当代最强大之一的互联网匿名、隐身、审查规避软件的运作原理。为了从整体上把握住程序的逻辑与功能,本系列会将源码重要部分通过函数调用流程图总结,以便站在
转载
2024-01-16 22:25:01
7阅读