随笔分类 - c#
c#
摘要:0. 前言 上接:AOP有几种实现方式 接下来说说怎么做AOP的demo,先用csharp 说下动态编织和静态编织,有时间再说点java的对应内容。 第一篇先说Roslyn 怎么做个JIT的AOP demo。 为啥这样讲呢? 实际是因为Roslyn 已经包含了JIT的全部部分,那我也就不用说任何JI
阅读全文
摘要:1. 回顾 AOP 是什么? 维基百科解释如下: 面向切面的程序设计(Aspect-oriented programming,AOP,又译作面向方面的程序设计、剖面导向程序设计)是计算机科学中的一种程序设计思想,旨在将横切关注点与业务主体进行进一步分离,以提高程序代码的模块化程度。通过在现有代码基础
阅读全文
摘要:Polly 弹性瞬时错误处理库 Polly是一个C#实现的弹性瞬时错误处理库 它可以帮助我们做一些容错模式处理,比如: 超时与重试(Timeout and Retry) 熔断器(Circuit Breaker) 舱壁隔离(Bulkhead Isolation) 回退(Fallback) 使用也是非常
阅读全文
摘要:Norns.Urd 是什么? Norns.Urd 是一个基于emit实现动态代理的轻量级AOP框架. 版本基于 netstandard2.0. 所以哪些.net 版本能用你懂的。 完成这个框架的目的主要出自于个人以下意愿: 静态AOP和动态AOP都实现一次 如果不实现DI,怎么将AOP框架实现与其他
阅读全文
摘要:DataAccess Author: Victor.X.Qu Email: fs7744@hotmail.com DataAccess is a c project for sql data mapping to object, like dapper DataAccess is for net c
阅读全文
摘要:Deep Clone Example 总结 Deep Clone 一般有如下几种实现方式: 1. 纯手工每个类实现赋值 (ps: 不做介绍,一般都不想这么玩) 2. 序列化和反序列化 3. 纯反射 4. emit 或 Expression Tree 下面是本人举了几个样本: Expression T
阅读全文
摘要:前情回顾:上一篇2) 验证器实现简单描述了下验证器的简单实现本文将说说Fluent方式的实现,欢迎大神们指点指点3) Fluent以及扩展方法实现我们按照之前 Fluent 的设想以及我们解耦的方式,所以我们先实现一个创建验证器创建者的静态类:public static class Validati...
阅读全文
摘要:前情回顾:上一篇1) 接口介绍以及总体思路概述简单描述了下库的设计思路本文将说说验证器实现,欢迎大神指导更快更好的方案2) 验证器实现我们首先从用户调用的验证器开始实现,所以我们应该首先这样做public class Validator : IValidator{ public IValidateR...
阅读全文
摘要:前情回顾:上一篇 0) 目录以及库结构介绍简单描述了下库的代码结构本文将从接口部分阐述总体的思路1) 接口介绍以及总体思路概述如下图,我总共定义了10个Interface这些实际可分为两类:为了支持 Fluent 语法格式而定义的各个创建者接口:IFluentRuleBuilderIRuleBuil...
阅读全文
摘要:缘由写该系列缘由是因为之前在国庆无聊实现了一个对象验证的小库,并希望博客园内的大神能批评教育一下我的这个库,让我能成长一些。但是估计由于我没有介绍库的内容以及我的思路,只是给出了代码,大神们对此没太大的兴趣,所以最近开始我会写一个几篇简单介绍性文章的系列来阐述该库的内容。希望有幸能被大神们看见并给予...
阅读全文
摘要:时间匆匆,回想一下,自己居然还是写了几个"杂货"库,在此罗列一下,以免自己忘了自己时间耗在了哪里1. SL.RExcel当时是为了让silverlight能方便读取多个格式的excel数据而东拼西凑出来的nuget :https://www.nuget.org/packages/SL.RExcel/...
阅读全文
摘要:起因:本人国庆无聊,不知道干嘛,所以模仿FluentValidation写了个简化版的ObjectValidator个人设想是能用类似fluent的方式创建验证规则,然后使用者缓存并验证自己的对象现在第一次在博客园发了这篇文章,希望各位大神能在百忙之中抽空批评教育我,个人感激不尽源代码:代码放在了h...
阅读全文