Vick's Blog


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

.NET Core中间件

发表于 2020-06-21   |   分类于 技术

ASP.NET Core 中 HTTP 管道使用中间件组合处理的方式。换句人话来说,对于写代码的人而言,一切皆中间件。业务逻辑/数据访问/等等一切都需要以中间件的方式来呈现。

阅读全文 »

设计模式之行为模式

发表于 2020-05-19   |   分类于 技术

行为型模式共有十一种:策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

  • 策略模式 :封装不同的算法,算法之间能互相替换
  • 状态模式 :根据不同的状态做出不同的行为
  • 责任链模式 :将事件沿着链去处理
  • 观察者模式 :状态发生改变时通知观察者,一对多的关系
  • 模板方法模式 :定义一套流程模板,根据需要实现模板中的操作
  • 迭代器模式 :提供一种方法顺序访问一个聚合对象中的各个元素
  • 备忘录模式 :保存对象的状态,在需要时进行恢复
  • 访问者模式 :稳定数据结构中,定义新的操作行为
  • 中介者模式 :将网状结构转变为星型结构,所有行为都通过中介
  • 解释器模式 :定义语法,并对其进行解释
  • 命令模式 :将请求封装成命令,并记录下来,能够撤销与重做
阅读全文 »

设计模式之结构型模式

发表于 2020-04-11   |   分类于 技术

结构型模式包括适配器模式、桥接模式、装饰者模式、组合模式、外观模式、享元模式和代理模式。

  • 适配器模式注重转换接口,将不吻合的接口适配对接
  • 桥接模式注重分离接口与其实现,支持多维度变化
  • 组合模式注重统一接口,将“一对多”的关系转化为“一对一”的关系
  • 装饰者模式注重稳定接口,在此前提下为对象扩展功能
  • 外观模式注重简化接口,简化组件系统与外部客户程序的依赖关系
  • 享元模式注重保留接口,在内部使用共享技术优化对象存储
  • 代理模式注重假借接口,增加间接层来实现灵活控制
阅读全文 »

.Net Core 3.1 使用Autofac

发表于 2020-02-18   |   分类于 技术

在ASP.NET Core中,自带的IOC容器相关的使用方式和注入类型的生命周期.

微软给自行注入的服务,提供了3种生命周期.

  • Transient(瞬时的)

    每次请求时都会创建的瞬时生命周期服务。这个生命周期最适合轻量级,无状态的服务。

  • Scoped(作用域的)

    在同作用域,服务每个请求只创建一次。

  • Singleton(唯一的)

    全局只创建一次,第一次被请求的时候被创建,然后就一直使用这一个.

自带的IOC 并不支持AOP(面向切面编程),所以我们最好还是使用Autofac.

阅读全文 »

.NET开源分布式事务解决方案-CAP

发表于 2019-11-27   |   分类于 技术

CAP 是一个在分布式系统中(SOA,MicroService)实现事件总线及最终一致性(分布式事务)的一个开源的 C# 库,她具有轻量级,高性能,易使用等特点。

你可以轻松的在基于 .NET Core 技术的分布式系统中引入CAP,包括但限于 ASP.NET Core 和 ASP.NET Core on .NET Framework。

  • CAP 以 NuGet 包的形式提供,对项目无任何入侵,你仍然可以以你喜爱的方式来构建分布式系统。
  • CAP 具有 Event Bus 的所有功能,并且CAP提供了更加简化的方式来处理EventBus中的发布/订阅。
  • CAP 具有消息持久化的功能,也就是当你的服务进行重启或者宕机时,她可以保证消息的可靠性。
  • CAP 实现了分布式事务中的最终一致性,你不用再去处理这些琐碎的细节。
  • CAP 提供了基于 Microsoft DI 的 API 服务,她可以和你的 ASP.NET Core 系统进行无缝结合,并且能够和你的业务代码集成支持强一致性的事务处理。
  • CAP 是开源免费的。CAP基于MIT协议开源,你可以免费的在你的私人或者商业项目中使用,不会有人向你收取任何费用。

Github:https://github.com/dotnetcore/CAP

阅读全文 »

分布式事务常用解决方案

发表于 2019-11-03   |   分类于 技术

业界目前主流的分布式事务解决方案主要有:多阶段提交方案(2PC、3PC)、本地消息表、补偿事务(TCC)和消息事务(主要是RocketMQ)。这些方案的原理在此处不展开,目前网络中相应资料比较多,小结一下它们的特点

阅读全文 »

分布式事务理论

发表于 2019-10-17   |   分类于 技术

说到事务,可能大家首先想到的就是数据库事务。对于数据库事务可能大家都很熟悉,在开发过程中也会经常使用到。众所周知,数据库能实现本地事务,但现在的系统常采用微服务、SOA等架构,因此就出现了跨多个数据库的事务需求,这种事务即为“分布式事务”。

分布式事务一直是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在微服务架构中,几乎可以说是无法避免,本文就分布式事务来简单聊一下。

阅读全文 »

C# 8中的范围类型(Range Type)

发表于 2019-08-12   |   分类于 技术

C# 8.0中加入了一个新的范围类型(Range Type)。

这里我们首先展示一些代码,并一步一步为代码添加一些不同的东西, 为大家展示一下范围类型的功能和用法。

阅读全文 »

三种MySql避免重复插入记录方法

发表于 2019-07-19   |   分类于 技术

mysql在存在主键冲突或者唯一键冲突的情况下,根据插入策略不同,一般有以下三种避免方法:
1、insert ignore
2、replace into
3、insert on duplicate key update

注意,除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用以上三个语句没有意义,与使用单纯的INSERT INTO相同。

阅读全文 »

layui table 工具栏列隐藏状态本地永久化保存

发表于 2019-06-01   |   分类于 技术

由于table列比较多,有时候用户不需要看那么多列,虽然layui提供了隐藏列的接口。但页面刷新后就会复原,这时候就可以将数据保存至localStorage中实现本地永久化保存

阅读全文 »
12…5
Vick

Vick

只要路是对的,就不怕路远

46 日志
2 分类
47 标签
RSS
github gitee
© 2020 Vick
由 Hexo 强力驱动
主题 - NexT.Mist