[料理佳餚] C# 一個 Open Source 的 Compile-time AOP 框架 - AspectInjector

看到 Bill 叔在 twMVC#39 講的 Compile-time weaving 的 AOP 框架 - PostSharp,勾起了我的 AOP 魂,隨手 Google 了一下,讓我找到了一個 Open Source 的框架 - AspectInjector(看名字我還以為是某個 Dependency Injection 的套件),看它在 GitHub 的介紹裡面下了 postsharp 的標籤,似乎有向 PostSharp 看齊的目標。

...繼續閱讀 »

[料理佳餚] Castle.DynamicProxy 非同步方法的攔截器

有使用 Castle DynamicProxyAutofac.Extras.DynamicProxy 也是相依於它)實作 AOP 的朋友應該對 IInterceptor 這個介面不陌生,實作這個介面就能得到一個攔截方法的攔截器,但是目前 IInterceptor 只提供同步的版本,如果攔截的對象是非同步方法,事情就會變得麻煩一些,我們來看看該怎麼做?

...繼續閱讀 »

[料理佳餚] FluentValidation + Autofac.Extras.DynamicProxy2 實現參數條件檢查的 AOP 攔截器

  • 683
  • 0
  • C#
  • 2016-07-05

之前在[料理佳餚] 使用 Decorator Pattern 分離參數檢查與資料處理這篇文章有提到我想要用 AOP 的方式來把參數的條件檢查分離出來,當時還沒有什麼好的做法,但是在遇到 FluentValidation 之後有了新的想法,只要搭配 AutofacAutofac.Extras.DynamicProxy2 就可以實現參數條件檢查的 AOP 攔截器。

...繼續閱讀 »