摘要: 一个很清晰的架构实践,同时刨刨MySQL的坑。 一、洋葱架构简介 洋葱架构出来的其实有一点年头了。大约在2017年下半年,就有相关的说法了。不过,大量的文章在于理论性的讨论,而我们今天会用一个项目来完成这个架构。 洋葱架构,有时候也被叫做整洁架构,它本身是为高质量的软件而存在的。 相对其它架构而言, 阅读全文
posted @ 2021-03-17 09:59 老王Plus 阅读(2522) 评论(8) 推荐(5) 编辑
摘要: Dotnet里,数据定位和匹配的相关编程现在变得很舒服。 最近项目紧,还要不停出差。 所以,写个短点的、最近经常用到的内容:数据定位和匹配。 数据定位 假设我们有这样一个数组: var array = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }; 我们取某个 阅读全文
posted @ 2021-03-10 16:26 老王Plus 阅读(606) 评论(1) 推荐(4) 编辑
摘要: 最近在做一个项目,用到了大量的非托管技术,所以垃圾回收变得很重要。 在说垃圾回收之前,先说说两个概念: 托管代码,是由CLR管理的代码 非托管代码,是由操作系统直接执行的代码 在早期C++的时候,内存分配和释放都是由我们手动处理的,而在公共语言进行时CLR中,多了一个垃圾收集器GC,来充当自动内存管 阅读全文
posted @ 2021-03-03 09:24 老王Plus 阅读(949) 评论(1) 推荐(3) 编辑
摘要: 过年啦,写个短点的。同时,提前给大家拜个年。 总有小伙伴们跑过来讨论关于Span和Memory的使用,眼瞅是最近关于Span的文章有点多,看飞了。 今天写这个,就是往回拉一拉。 写之前,先声明一下。这些内容是我自己使用的一些经验,并不代表这些类的全部内容就是这些,只是说,我是这么用的,而且用得很好。 阅读全文
posted @ 2021-02-10 09:17 老王Plus 阅读(505) 评论(1) 推荐(2) 编辑
摘要: 上一篇说了一下委托,这篇来说说局部函数和委托的对比。 把委托和局部函数放成前后篇,是因为这两个内容很像,用起来容易混。 需要了解委托相关内容,可以看这一篇 【传送门】 使用委托表达式(Lambda) 假设一个场景:我们有一个订单列表,里面有售价和采购价。我们需要计算所有物品的毛利率。 public 阅读全文
posted @ 2021-02-03 11:48 老王Plus 阅读(709) 评论(0) 推荐(2) 编辑
摘要: 简单的概念,也需要经常看看。 一、前言 先简单说说Delegate的由来。最早在C/C++中,有一个概念叫函数指针。其实就是一个内存指针,指向一个函数。调用函数时,只要调用函数指针就可以了,至于函数本身的实现,可以放在其它地方,也可以后实现。到了.Net,没有指针的概念了,但这种方式很实用,所以这个 阅读全文
posted @ 2021-01-27 09:09 老王Plus 阅读(862) 评论(5) 推荐(3) 编辑
摘要: 今天用一个简单例子说说异步的多路径终止。我尽可能写得容易理解吧,但今天的内容需要有一定的编程能力。 今天这个话题,来自于最近对gRPC的一些技术研究。 话题本身跟gRPC没有太大关系。应用中,我用到了全双工数据管道这样一个相对复杂的概念。 我们知道,全双工连接是两个节点之间的连接,但不是简单的“请求 阅读全文
posted @ 2021-01-20 09:50 老王Plus 阅读(746) 评论(0) 推荐(2) 编辑
摘要: 有时候,越是基础的东西,越是有人不明白。 前几天Review一个项目的代码,发现非常基础的内容,也会有人理解出错。 今天,就着这个点,写一下Dotnet Core的主要类型的项目结构,以及之间的转换和演化。 一、最基础的应用Console 控制台应用,是Dotnet Core乃至前边的Dotnet 阅读全文
posted @ 2021-01-13 10:30 老王Plus 阅读(2252) 评论(14) 推荐(28) 编辑
摘要: API升级,新旧版本的API共存,怎么管理呢? 一、前言 最近,单位APP做了升级,同步的,API也做了升级。 升级过程中,出现了一点问题:API升级后,旧API也需要保留,因为有旧的APP还在使用中。 那么,API端如何作到多个版本共存呢? * 为防止非授权转发,这儿给出本文的原文链接:https 阅读全文
posted @ 2020-12-23 09:17 老王Plus 阅读(2721) 评论(17) 推荐(13) 编辑
摘要: 今天来写写C#中的异步迭代器 - 机制、概念和一些好用的特性 迭代器的概念 迭代器的概念在C#中出现的比较早,很多人可能已经比较熟悉了。 通常迭代器会用在一些特定的场景中。 举个例子:有一个foreach循环: foreach (var item in Sources) { Console.Writ 阅读全文
posted @ 2020-12-16 09:30 老王Plus 阅读(1517) 评论(0) 推荐(11) 编辑