12 2020 档案
摘要:0. 前言 之前写了几篇文章介绍了一些AOP的知识, 但是还没有亮出来AOP的姿势, 也许姿势漂亮一点, 大家会对AOP有点兴趣 内容大致会分为如下几篇:(毕竟人懒,一下子写完太累了,没有动力) AOP的姿势之 简化 MemoryCache 使用方式 AOP的姿势之 简化混用 MemoryCache
阅读全文
摘要:0. 前言 上接:思想无语言边界:以 cglib 介绍 AOP 在 java 的一个实现方式 作为第四篇,我们回顾一下 csharp 里面比较常见动态编织实现方式emit 内容安排如下: emit aop demo Norns.Urd 1. emit aop demo 1.1 emit 介绍 e
阅读全文
摘要:0. 前言 上接:基于 Source Generators 做个 AOP 静态编织小实验 作为第三篇,我们基于cglib在java做一个简单的aop例子, 以此简单作为例子说一个思路在什么样的语言里面都是共同的,这是骨,不要纠结什么语言什么实现,这只是皮。 同以前一样,是个人随笔,不是新手教学,不会
阅读全文
摘要:0. 前言 上接:用 Roslyn 做个 JIT 的 AOP 作为第二篇,我们基于Source Generators做个AOP静态编织小实验。 内容安排如下: source generators 是什么? 做个达到上篇Jit 一样的效果的demo source generators还存在什么问题?
阅读全文
摘要: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框架实现与其他
阅读全文