zoukankan      html  css  js  c++  java
  • LambdaAOP

    项目地址 :  https://github.com/kelin-xycs/LambdaAOP

    LambdaAOP

    一个 用 C# 实现的 使用 Lambda 表达式 的 AOP

    这是 一个 用 C# 实现的 使用 Lambda 表达式 的 AOP 。

    用 Lambda 表达式 来 实现 AOP 这个 想法 来自于 Polly.Net 。

    一开始 看到 Polly.Net 的 时候, 只看到 一堆 police.Handle() , police.Handle() , police.Handle() …… police.ReTry() ……

    就没看到 在 哪里调用 要执行的 方法 , 然后 就 觉得 , Polly.Net 这个 好像 AOP 啊 , 而且 这个 AOP 有点牛 , 有点 指哪打哪 的 意思 了 。 ^^

    后来看到 police.Execute( () => DoSomething() ) , 才 发现 , 哦 , 原来 是 通过 police.Execute( ) 方法 执行 的 , 而且 使用了 Lambda 表达式 。

    所以 就 觉得 Lambda 表达式 很适合 来 实现 AOP , 所以 就写 了 这个 项目 。

    通过 LambdaAOP , 可以 让一个 普通对象 乃至于 静态方法 瞬间 拥有 AOP 特性 , 也可以 瞬间 取消 。 即插即用 , 即拔即停 , 代码透明 , 绿色 环保 无污染 。 ^^ ^^ ^^

    这要 归功于 Lambda 表达式 在 语法 和 实现 上的 支持 。 实现 是指 System.Linq.Expressions 。

    System.Reflection , System.Reflection.Emit , System.Linq.Expressions
    这 3 者 是 关联 的 , 但 有意思 的 是 Expressions 是 归到了 System.Linq 。

    好了 不多说了 , 用法 和 原理 看代码 吧 。 :)

  • 相关阅读:
    判断UpLoader是否安装了Flash
    事务
    AMQP
    分布式领域CAP理论
    查看数据库所有表的所有字段
    拼分页方法
    Website English Comments
    SQL语句执行时间测试
    一般处理程序返回json
    MVC Action返回Json
  • 原文地址:https://www.cnblogs.com/KSongKing/p/9455265.html
Copyright © 2011-2022 走看看