摘要: 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) 编辑
摘要: 前言 要学习Vuex就要先知道这里的路由是什么?为什么我们不能像原来一样直接用标签编写链接哪?vue-router如何使用?常见路由操作有哪些?等等这些问题,就是本篇要探讨的主要问题。 Vuex是什么 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件 阅读全文
posted @ 2020-11-01 21:01 南荣相如 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 前言 学习vue-router就要先了解路由是什么?前端路由的实现原理?vue-router如何使用?等等这些问题,就是本篇要探讨的主要问题。 vue-router是什么 路由是什么? 大概有两种说法:从路由的用途上来解释路由就是指随着浏览器地址栏的变化,展示给用户的页面也不相同。从路由的实现原理上 阅读全文
posted @ 2020-11-01 07:46 南荣相如 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 目标 使用Vue+ElementUI+axios构建一个非常简单CRUD应用程序,以便您更好地了解它的工作方式。 什么是 axios? Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。 安装axios 我们使用 NPM 进行安装 npm install 阅读全文
posted @ 2020-10-30 20:14 南荣相如 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 目标 使用Vue+ElementUI构建一个非常简单CRUD应用程序,以便您更好地了解它的工作方式。 效果页面 比如我们要实现这样列表、新增、编辑三个页面: 列表页面 新增页面 编辑页面 安装element 我们使用 vue-cli@3 进行安装 vue add element 列表组件(TodoL 阅读全文
posted @ 2020-10-29 20:19 南荣相如 阅读(783) 评论(0) 推荐(0) 编辑
摘要: 目标 使用Vue构建一个非常简单CRUD应用程序,以便您更好地了解它的工作方式。 效果页面 比如我们要实现这样列表、新增、编辑三个页面: 列表页面 新增页面 编辑页面 我们把这些用户信息保存到Todos的数组中,然后增删改查就在这个数组上进行: Todos: [{ Name: "遛狗" }, { N 阅读全文
posted @ 2020-10-28 21:01 南荣相如 阅读(4212) 评论(0) 推荐(1) 编辑
摘要: Why-为什么需要Vue? 前端开发存在的问题? 其一,需求变化频率更高 产品功能迭代前端肯定需要跟着调整。 提意见的人多,前端嘛谁都能看得见,所以,谁都可以指手画脚提一点意见。产品经理、项目经理、老板...甚至连后端都可以来提一些意见。 前端像人的衣着,还是需要经常更换。 其二,平台、浏览器生态复 阅读全文
posted @ 2020-10-27 21:27 南荣相如 阅读(346) 评论(0) 推荐(1) 编辑
摘要: 前言 这几天小明又有烦恼了,系统上线一段时间后,系统性能出现了问题,缓存等都用上了,还是不能解决问题。马老板很大气,又买了3台服务器,让小明做个集群分流一下。 集群是什么? 是一种计算机系统,它通过一组松散集成的计算机软件或硬件连接起来高度紧密地协作完成计算工作。将多个物理机器组成一个逻辑计算机,实 阅读全文
posted @ 2020-10-15 19:13 南荣相如 阅读(1336) 评论(2) 推荐(1) 编辑
摘要: 前言 这几天小明又有烦恼了,系统上线一段时间后,系统性能出现了问题,马老板很生气,叫小明一定要解决这个问题。性能问题一般用什么来解决呢?小明第一时间想到了缓存。 什么是缓存 缓存是实际工作中非常常用的一种提高性能的方法。 缓存可以减少生成内容所需的工作,从而显著提高应用程序的性能和可伸缩性。 缓存最 阅读全文
posted @ 2020-10-14 19:21 南荣相如 阅读(1826) 评论(1) 推荐(1) 编辑
摘要: 前言 这几天小明又有烦恼了,之前给小红的接口没有做认证授权,直接裸奔在线上,被马老板发现后狠狠的骂了一顿,赶紧让小明把授权加上。赶紧Baidu一下,发现大家都在用JWT认证授权,这个倒是挺适合自己的。 什么是Token Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后 阅读全文
posted @ 2020-10-11 20:32 南荣相如 阅读(2431) 评论(0) 推荐(4) 编辑
摘要: 前言 小明最近又遇到麻烦了,小红希望对接接口传送的数据进行验证,既然是小红要求,那小明说什么都得满足呀,这还不简单嘛。 传统验证 [HttpPost] public async Task<ActionResult<Todo>> PostTodo(Todo todo) { if (string.IsN 阅读全文
posted @ 2020-10-10 22:21 南荣相如 阅读(2816) 评论(1) 推荐(3) 编辑
摘要: 前言 小明目前已经把“待办事项”功能实现了,API文档也搞定了,但是马老板说过,绝对不能让没有任何监控的项目上线的。 Serilog是什么? 在.NET使用日志框架第一时间会想到NLog或是Log4Net,Serilog 是这几年快速崛起的Log框架之一,Serilog是以Structured lo 阅读全文
posted @ 2020-10-09 22:17 南荣相如 阅读(2335) 评论(4) 推荐(3) 编辑
摘要: 前言 小明已经实现“待办事项”的增删改查,并美滋滋向负责前端的小红介绍Api接口,小红很忙,暂时没有时间听小明介绍,希望小明能给个Api文档。对于码农小明来说能不写文档就尽量不要写,不过这也难不倒小明,他知道Swagger不仅可以自动生成Api文档,并还可以用Swagger进行接口测试。 Swagg 阅读全文
posted @ 2020-10-06 22:36 南荣相如 阅读(636) 评论(0) 推荐(0) 编辑
摘要: 前言 小明已经创建与运行了WebApi项目,了解项目结构有哪些组成,并学会了怎么发布到IIS。基础已经建好,从现在开始要真正实现待办事项的功能了。 新建表 CREATE TABLE [dbo].[Todo]( [Id] [uniqueidentifier] NOT NULL, [Name] [nva 阅读全文
posted @ 2020-10-06 22:35 南荣相如 阅读(2495) 评论(0) 推荐(3) 编辑
摘要: 需求 前几天,马老板给小明和小红一个“待办事项”网站,小明负责后端,小红负责前端,并要求网站可以同时在 Windows、和 Linux 上运行。 小明整理了一下“待办事项”的功能清单: 获取所有待办事项 按 ID 获取项 添加新项 更新现有项 删除项 创建 Web 项目 从“文件”菜单中选择“新建” 阅读全文
posted @ 2020-10-06 22:34 南荣相如 阅读(1146) 评论(0) 推荐(2) 编辑
摘要: 1 DDD是什么? DDD是领域驱动设计,是Eric Evans于2003年提出的,离现在有17年。 2 为什么需要DDD 当软件越来越复杂,实际开发中,大量的业务逻辑堆积在一个巨型类中的例子屡见不鲜,代码的复用性和扩展性无法得到保证。为了解决这样的问题,DDD提出了清晰的分层架构和领域对象的概念, 阅读全文
posted @ 2020-09-17 18:08 南荣相如 阅读(15583) 评论(1) 推荐(4) 编辑
摘要: 委托 委托是什么? 委托是一种引用类型(其实就是一个类,继承MulticastDelegate特殊的类。),表示对具有特定参数列表和返回类型的方法的引用。 每个委托提供Invoke方法, BeginInvoke和EndInvoke异步方法 为什么需要委托? 委托可以将方法(即逻辑)作为参数; 逻辑解 阅读全文
posted @ 2020-09-12 10:41 南荣相如 阅读(1358) 评论(0) 推荐(0) 编辑