2025年10月25日

摘要: 一、什么是《手搓》线程池 手搓线程池并不是用来完全代替系统线程池的 你可以把手搓线程池看做系统线程池的一部分 就好比在东海用集装箱搞养殖 一个集装箱里养鱼 另一个集装箱里养虾 搞好隔离,鱼虾都不耽搁 二、最常用线程池的场景是什么 当然是Task,是用TaskFactory.StartNew方法创建T 阅读全文
posted @ 2025-10-25 11:50 xiangji 阅读(330) 评论(3) 推荐(1)

2025年10月24日

摘要: 一、MediatR .NET事件总线一般使用MediatR 或者基于MediatR二次封装 笔者手搓事件总线和MediatR对比一下 二、事件处理的基本概念 1. 事件 表示已经发生的事情,需要通知其他模块进行处理 2. 事件发布器 负责发布事件的对象 3. 事件处理器 实际接收到通知并处理事件的对 阅读全文
posted @ 2025-10-24 08:53 xiangji 阅读(851) 评论(5) 推荐(10)

2025年10月4日

摘要: 一、充血模型和失血模型 1. 充血模型的优势 充血模型更加OOP 充血模型代码可读性更好 1.1 充血模型伪代码 var messageDto = controller.ReadDto(); var message = messageDto.ToEntity(); message.Save(); 1 阅读全文
posted @ 2025-10-04 09:38 xiangji 阅读(287) 评论(0) 推荐(2)

2025年9月28日

摘要: 一、什么是循环引用 循环引用就是类型相互依赖 1. 比如A类有B类的属性,B类也有A类的属性 这有什么问题呢? 编写生成A的代码需要遍历A的所有属性 构造B类型属性是A代码的一部分,B代码又含有A类型属性 这就是一个编译死循环 2. 其他循环引用的例子 链表结构只有一个类型也是类型循环引用 A-B- 阅读全文
posted @ 2025-09-28 00:10 xiangji 阅读(305) 评论(2) 推荐(0)

2025年9月6日

摘要: 微软.net表达式编译问题困扰本人很久了, 为此我整理了以下case给大家分享 1. 可行性调研 用表达式把对象转化为另一个类型的对象 当一个类含有多个同类型属性时,把相同类型转化提取为公共方法 LambdaExpression可以用来定义复用的公共方法 一切看起来都很完美,但是居然翻车了!!! 2 阅读全文
posted @ 2025-09-06 18:11 xiangji 阅读(999) 评论(8) 推荐(2)

2025年8月28日

摘要: PocoEmit使用比较简单对于大部分转化是不需要手动配置 可以替代AutoMapper的大部分工作,实现精简代码,提高性能 一、获取Mapper实例 1. 获取Mapper默认实例 Default是一个静态延迟初始化的默认实例 IMapper mapper = PocoEmit.Mapper.De 阅读全文
posted @ 2025-08-28 16:31 xiangji 阅读(573) 评论(0) 推荐(2)

2025年8月27日

摘要: AutoMapper是让人又爱又恨的项目 爱它是因为它解决了一些问题,很多项目都有用,下载量很大,受众很广。 恨它是因为它诸多反人类的设计。 为此本人开源项目PocoEmit对标AutoMapper。 1. AutoMapper反人类设计 1.1 AutoMapper注册代码 services.Ad 阅读全文
posted @ 2025-08-27 00:06 xiangji 阅读(2395) 评论(36) 推荐(6)

2025年8月19日

摘要: 最近看AutoMapper源码,被1行代码震惊到了。 请各位工程师也look一下: private static readonly MethodInfo ContextMapMethod = ExpressionFactory.Method<ResolutionContext, object>(a 阅读全文
posted @ 2025-08-19 11:31 xiangji 阅读(71) 评论(0) 推荐(1)

2025年7月29日

摘要: FastEndpoints 是基于 ASP.NET Core 的轻量级、高性能 Web API 开发框架,采用 REPR (请求-端点-响应)设计模式。 本人用FastEndpoints做了一个REST API很优雅的Case 一、以下是http测试 @HostAddress = http://lo 阅读全文
posted @ 2025-07-29 11:43 xiangji 阅读(1387) 评论(4) 推荐(1)

2025年7月12日

摘要: PATCH是REST API支持的请求之一。 REST API的请求常见的是GET和POST,另外PUT、DELETE和PATCH也很重要。 PATCH表示部分更新,用POST当然可以代替,PATCH语义更好更准确。 1. JSON Patch是一种实现PATCH的方案 2. ODATA也支持Pat 阅读全文
posted @ 2025-07-12 00:51 xiangji 阅读(429) 评论(0) 推荐(0)

导航