10 2021 档案

摘要:0 string 浪费资源 但自增自减 可以用。 比如秒杀。 1 存放一个对象 尽量用hast 不用string 因为string 要来回序列号和反序列化。hst 操作经常修改的字段 2 存放一般结合用List 刷盘有分页功能。 3 List 没有去重 ,去重用set 、根据下标取值。以及 交叉并补 阅读全文
posted @ 2021-10-31 15:41 非著名架构师 阅读(53) 评论(0) 推荐(0)
摘要:我们经常有api 统一返回数据格式,又不想在每个控制器里写retun json 格式 这里是在action 方法处 aop的思想, 在action 上放置一个特性。 Filter 类 如下 public class FilterExtend : Attribute, IActionFilter { 阅读全文
posted @ 2021-10-30 17:08 非著名架构师 阅读(159) 评论(0) 推荐(0)
摘要:ElasticSearch 一般用于分词,订单查询,跨库查询,低代码编程 es 的api 操作 put /索引名称/类型名称/文档id 创建文档 post /索引名称/类型名称 创建文档(随机id) post /索引名称/类型名称/文档id /_update 修改文档 Get /索引名称/类型名称/ 阅读全文
posted @ 2021-10-27 14:19 非著名架构师 阅读(280) 评论(0) 推荐(0)
摘要:简单工厂、工厂方法、抽象工厂 大三工厂 都是创建型设计模式,都是管理对象如何创建。 简单工厂简单到令人发指,只是包了一层,但是做到了逻辑转移。上端不在关心对象怎么创建,稳定了调用方 比如我们下单的时候,购买什么产品,需要创建什么样的对象,水果为例子,有 有苹果apple 葡萄 grape 橙子ora 阅读全文
posted @ 2021-10-26 11:13 非著名架构师 阅读(78) 评论(0) 推荐(0)
摘要:1 httpcontext IhttpContextAccessor 这个可以在任何地方注入 并调用 而且是线程安全的 需要在Ioc 注入 2 IserviceProvider 获取容器实例 net core 机会所有的对象获取都是从 3 Option 核心配置对象,全局任意地方初始化,然后在任意使 阅读全文
posted @ 2021-10-24 19:22 非著名架构师 阅读(460) 评论(0) 推荐(0)
摘要:单例模式是23设计中创建模式的第一个,也是入门的设计模式,好多net 程序员 工作7-8 你让他写3-4个设计模式,我敢说,很多人可能都写不出来,因为net 封装的太厉害了,很多程序员有种惰性,总是"约定俗成" 我就这么用的。C# 语言是一款优秀的语言,并不比java差,只是java 开源早,生态环 阅读全文
posted @ 2021-10-24 08:48 非著名架构师 阅读(128) 评论(0) 推荐(0)
摘要:1 全局注册 2 ServiceFilter,IOC注册 3 TypeFilter 4 4IFilterFactiory 自定义 ServiceFilter 是利用ioc 容器获取实例 public IFilterMetadata CreateInstance(IServiceProvider se 阅读全文
posted @ 2021-10-14 20:55 非著名架构师 阅读(107) 评论(0) 推荐(0)
摘要:UseAuthentication 就是鉴权 找出解析请求携带的信息 UseAuthorization 授权 权限检查,看看有没有权限 我们先来同步几个知识。 policy 是策略 满足什么条件 不可以叠加 roles 是角色 特殊的policy 也是规则只是微软封装好了的特殊策略。 roles 可 阅读全文
posted @ 2021-10-10 19:04 非著名架构师 阅读(2117) 评论(0) 推荐(0)
摘要:不同的类,相同的方法名,我们都会想到抽象类,但是每个抽象方法里面又有很多if else 的各种条件 我们程序怎么应对呢。这时候我们的访问者模式就出来了。 首先我们定义一个学生类,里面有个抽象方法,抽象方面有个接口 来转移我们方法的内容 public abstract class Student { 阅读全文
posted @ 2021-10-09 10:47 非著名架构师 阅读(60) 评论(0) 推荐(0)
摘要:UseRouting() 将请求与端点匹配,路由规则UseEndpoints()执行匹配的端点 UseRouting 去匹配路由 UseEndpoints 找出mvc 的所有特性 方法 控制 去执行路由。 微软之所以这样设计2个中间件,是为了更好的扩展,比如我们之前aspnet mvc 有了路由匹配 阅读全文
posted @ 2021-10-08 21:08 非著名架构师 阅读(5377) 评论(0) 推荐(0)
摘要:使用 步骤 1 nuget Microsoft.Extensions.Caching.Redis 2注册服务+注入 services.AddSession() ; services.AddDistributedRedisCache (options =>{options.Configuration 阅读全文
posted @ 2021-10-08 16:50 非著名架构师 阅读(300) 评论(0) 推荐(0)
摘要:我们在net core 中经常看到这样的写法 在ConfigureServices 里面注册一个 services.AddSession(); 然后在Configure app.UseSession(); 本质上 Add 集中注册 就是在ioc 注册对应服务关系 option 用来传值 option 阅读全文
posted @ 2021-10-07 19:30 非著名架构师 阅读(68) 评论(0) 推荐(0)
摘要:直接通过反射 找到类 RequestDelegate 和 InvokeAsync 这2个都是固定写法 框架帮我们写死的 ,如果看是不是中间件,框架先检查 参数 有没有InvokeAsync方法和第一个参数必须是RequestDelegate 源码如下 : app.UseMiddleware<Onet 阅读全文
posted @ 2021-10-07 16:24 非著名架构师 阅读(325) 评论(0) 推荐(1)
摘要://直接单例,读出来就缓存,不支持数据变化,性能高--只能度默认名字 private IOptions<EmailOption> _optionsDefault; //只读一次,写入缓存 但是支持数据修改,靠的是监听文件更新(onchange)数据,实时变更 private IOptionsMoni 阅读全文
posted @ 2021-10-07 09:15 非著名架构师 阅读(224) 评论(0) 推荐(0)