摘要: 1 前置阅读 在阅读本文章之前,你可以先阅读: 什么是DDD 2 实现值对象 值对象有两个主要特征:它们没有任何标识。它们是不可变的。 我们举个例子:小明是“浙江宁波”人,小红也是“浙江宁波”人,小王是“浙江杭州”人,在这个例子中,我们把地址可以独立出一个值对象出来,我们会遇到了多个对象是否相同的问 阅读全文
posted @ 2021-01-28 20:32 南荣相如 阅读(1508) 评论(0) 推荐(0) 编辑
摘要: 1 什么是Quartz.NET? Quartz是一个功能齐全的开源作业调度系统,可以与几乎任何其他软件系统集成或一起使用。 2 为什么需要Quartz.NET? .NET Framework通过System.Timers.Timer类具有“内置”计时器功能-为什么有人使用Quartz而不是这些标准功 阅读全文
posted @ 2021-01-22 21:10 南荣相如 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 1 什么是Docker? Docker是一个用于开发,发布和运行应用程序的开放平台。Docker使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助Docker,您可以以与管理应用程序相同的方式来管理基础架构。通过利用Docker的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生 阅读全文
posted @ 2021-01-22 21:09 南荣相如 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 1 什么是ELK? ELK,是Elastaicsearch、Logstash和Kibana三款软件的简称。Elastaicsearch是一个开源的全文搜索引擎。Logstash则是一个开源的数据收集引擎,具有实时的管道,它可以动态地将不同的数据源的数据统一起来。Kibana是一个日志可视化分析的平台 阅读全文
posted @ 2021-01-22 21:08 南荣相如 阅读(1125) 评论(0) 推荐(5) 编辑
摘要: 1 简介 手把手教你AspNetCore WebApi系列介绍了ASP.NET Core WebApi从搭建起基本的框架到最终形成属于你的框架应用,这个系列覆盖从入门、简单Crud到日志、授权、缓存、负载均衡等知识点。 2 目录 手把手教你AspNetCore WebApi:入门 手把手教你AspN 阅读全文
posted @ 2021-01-14 19:40 南荣相如 阅读(497) 评论(1) 推荐(0) 编辑
摘要: 1 什么是Ocelot? Ocelot是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由、请求聚合、服务发现、认证、鉴权、限流熔断、并内置了负载均衡器与Service Fabric、Butterfly Tracing集成。 2 如何使用Ocelot? 首先,创建2个WebA 阅读全文
posted @ 2021-01-14 18:53 南荣相如 阅读(956) 评论(0) 推荐(0) 编辑
摘要: 1 Serilog是什么? 在.NET使用日志框架第一时间会想到NLog或是Log4Net,Serilog 是这几年快速崛起的Log框架之一,Serilog是以Structured logging 为基础进行设计,透过logging API 可以轻松的记录应用程式中对象属性,方便快速进行loggin 阅读全文
posted @ 2021-01-14 18:51 南荣相如 阅读(9995) 评论(1) 推荐(1) 编辑
摘要: 1 前置阅读 在阅读本文章之前,你可以先阅读: 什么是中介者模式 2 简介 .NET中的简单中介者模式实现,一种进程内消息传递机制(无其他外部依赖)。 支持以同步或异步的形式进行请求/响应,命令,查询,通知和事件的消息传递,并通过C#泛型支持消息的智能调度。 MediatR可以支持几种模式:请求/响 阅读全文
posted @ 2021-01-14 18:50 南荣相如 阅读(921) 评论(0) 推荐(1) 编辑
摘要: 1 简介 RabbitMQ有成千上万的用户,是最受欢迎的开源消息代理之一。 1.1 AMQP是什么 AMQP(高级消息队列协议)是一个网络协议。它支持符合要求的客户端应用(application)和消息中间件代理(messaging middleware broker)之间进行通信。 1.2 消息队 阅读全文
posted @ 2021-01-14 18:50 南荣相如 阅读(898) 评论(0) 推荐(1) 编辑
摘要: 1 什么是AutoMapper? AutoMapper是一个对象-对象映射器。对象-对象映射通过将一种类型的输入对象转换为另一种类型的输出对象来工作。使AutoMapper变得有趣的是,它提供了一些有趣的约定,以免去弄清楚如何将类型A映射为类型B。只要类型B遵循AutoMapper既定的约定,就需要 阅读全文
posted @ 2021-01-14 18:49 南荣相如 阅读(878) 评论(0) 推荐(0) 编辑
摘要: 1 前置阅读 在阅读本文章之前,你可以先阅读: RabbitMQ入门 什么是观察者模式 什么是事件总线 如何使用RabbitMQ实现事件总线 2 简介 MassTransit 是一个自由、开源、轻量级的消息总线, 用于使用. NET 框架创建分布式应用程序。MassTransit 在现有消息传输上提 阅读全文
posted @ 2021-01-14 18:49 南荣相如 阅读(1038) 评论(0) 推荐(0) 编辑
摘要: 1 前置阅读 在阅读本文章之前,你可以先阅读: 什么是依赖注入 2 简介 Autofac与C#语言的结合非常紧密,并学习它非常的简单,也是.NET领域最为流行的IoC框架之一。 3 使用 首先,将Autofac的NuGet软件包安装到您的应用程序中。 Autofac 然后,我们通过创建Contain 阅读全文
posted @ 2021-01-14 18:47 南荣相如 阅读(12417) 评论(0) 推荐(1) 编辑
摘要: 1 分布式缓存是什么 分布式缓存是由多个应用服务器共享的缓存,通常作为外部服务在访问它的应用服务器上维护。 分布式缓存可以提高 ASP.NET Core 应用程序的性能和可伸缩性,尤其是在应用程序由云服务或服务器场托管时。 2 Redis是什么? Redis是一个高性能的 key-value 数据库 阅读全文
posted @ 2021-01-14 18:46 南荣相如 阅读(1247) 评论(0) 推荐(0) 编辑
摘要: 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) 编辑