摘要: 1 简介 我个人整理了后端开发者路线图目录,并在学习过程中的整理了一些读书笔记、学习心得等资料,希望与大家共同进步。 2 目录 2.1 互联网 2.2 语言 委托,事件和Lambda表达式 异步编程(或多线程编程) 2.3 版本控制系统 Git:高效团队协作的利器 2.4 回购托管服务 使用GitH 阅读全文
posted @ 2021-01-10 14:14 南荣相如 阅读(1047) 评论(0) 推荐(3) 编辑
摘要: 1 Swagger是什么? Swagger用于描述 REST API。 它允许计算机和人员了解服务的功能,而无需直接访问实现(源代码、网络访问、文档)。 2 安装 Swashbuckle.AspNetCore 添加Swagger生成器 将Swagger生成器添加到 Startup.Configure 阅读全文
posted @ 2021-01-10 13:28 南荣相如 阅读(1630) 评论(0) 推荐(0) 编辑
摘要: 需求 “待办事项”的功能清单: 获取所有待办事项 按 ID 获取项 添加新项 更新现有项 删除项 创建 Web 项目 从“文件”菜单中选择“新建”>“项目” 。 选择“ASP.NET Core Web 应用程序”模板,再单击“下一步” 。 将项目命名为 App001,然后单击“创建”。 在“创建新的 阅读全文
posted @ 2021-01-10 13:26 南荣相如 阅读(1031) 评论(0) 推荐(0) 编辑
摘要: 新建表 CREATE TABLE [dbo].[Todo]( [Id] [uniqueidentifier] NOT NULL, [Name] [nvarchar](100) NULL, CONSTRAINT [PK_Todo] PRIMARY KEY CLUSTERED ( [Id] ASC )W 阅读全文
posted @ 2021-01-10 13:24 南荣相如 阅读(861) 评论(0) 推荐(0) 编辑
摘要: 1 前置阅读 在阅读本文章之前,你可以先阅读: 什么是依赖注入 2 简介 Microsoft.Extensions.DependencyInjection是.NET Core内置依赖注入模块。 3 使用 首先,在Startup.ConfigureServices方法中,将Knife,Actor注册到 阅读全文
posted @ 2021-01-10 11:14 南荣相如 阅读(3990) 评论(0) 推荐(0) 编辑
摘要: 1 定义 中介者模式是一种行为设计模式,让程序组件通过特殊的中介者对象进行间接沟通, 达到减少组件之间依赖关系的目的。 中介者能使得程序更易于修改和扩展, 而且能更方便地对独立的组件进行复用, 因为它们不再依赖于很多其他的类。 2 例子 假如有房东,中介,房客三种角色,房东有房子可以出租就通知中介, 阅读全文
posted @ 2021-01-10 11:08 南荣相如 阅读(679) 评论(0) 推荐(0) 编辑
摘要: 1 定义 依赖注入(Dependency Injection),简称DI,类之间的依赖关系由容器来负责。简单来讲a依赖b,但a不创建(或销毁)b,仅使用b,b的创建(或销毁)交给容器。 2 例子 为了把DI讲清楚,我们需要举一个简单例子。例子足够小,希望让你能直观的了解DI而不会陷入真实示例的泥潭。 阅读全文
posted @ 2021-01-10 11:07 南荣相如 阅读(12131) 评论(0) 推荐(1) 编辑
摘要: 1 前置阅读 在阅读本文章之前,你可以先阅读: 什么是观察者模式 2 定义 事件总线是实现基于事件驱动模式的方式之一,事件发送者将事件消息发送到一个事件总线上,事件订阅者向事件总线订阅和接收事件,然后再处理接收到的事件。当然,订阅者不仅可以接收和消费事件,它们本身也可以创建事件,并将它们发送到事件总 阅读全文
posted @ 2021-01-10 11:03 南荣相如 阅读(2189) 评论(0) 推荐(1) 编辑
摘要: 1 定义 观察者模式也称作发布/订阅模式,提供了一种作用于任何实现了订阅者接口的对象的机制, 可对其事件进行订阅和取消订阅。 2 例子 假如你有两种类型的对象: 顾客和商店。顾客希望商店某些商品有优惠信息的时候可以通知顾客。在这个例子中商店就是发布者,顾客就是订阅者。商店发布通知,维护订阅及取消订阅 阅读全文
posted @ 2021-01-10 11:00 南荣相如 阅读(867) 评论(0) 推荐(0) 编辑
摘要: 1 前置阅读 在阅读本文章之前,你可以先阅读: RabbitMQ入门 什么是观察者模式 什么是事件总线 2 实现 首先,事件源与事件处理的映射字典。 private static Dictionary<string, List<object>> eventHandlers = new Diction 阅读全文
posted @ 2021-01-10 10:59 南荣相如 阅读(688) 评论(0) 推荐(0) 编辑
摘要: 1 缓存基础知识 缓存是实际工作中非常常用的一种提高性能的方法。 缓存可以减少生成内容所需的工作,从而显著提高应用程序的性能和可伸缩性。 缓存最适用于不经常更改的数据。 通过缓存,可以比从原始数据源返回的数据的副本速度快得多。 2 使用内存缓存(IMemoryCache) 首先,我们简单的创建一个控 阅读全文
posted @ 2021-01-10 10:56 南荣相如 阅读(1108) 评论(0) 推荐(0) 编辑