pamidur / aspect-injector

AOP framework for .NET (c#, vb, etc)
Apache License 2.0
745 stars 112 forks source link

Some docs errors and question #132

Closed GioviQ closed 2 years ago

GioviQ commented 4 years ago

Hi, https://github.com/pamidur/aspect-injector/blob/master/docs/mixin.md link is broken.

In https://github.com/pamidur/aspect-injector/blob/master/README.md

implementaions -> implementations

I found your project because it is for a while that I would like to introduce in a Blazor project some AOP.

I looked around Fody but your project seems much more clear and clean.

The problem is that I cannot evaluate the pros and cons.

I would like some opinions from members of this project.

I had another question but then I found https://github.com/pamidur/aspect-injector/issues/94 😄

pamidur commented 4 years ago

Hi @GioviQ , thank you for your interest in this project!

I must agree that the current state of documentation is rather embarrassing, some pages are missing, many errors aren't described. I will try to make docs look better in near future.

There was another example of usage with IoC container which would be more relevant to Blazor here #128 .

Fody. Fody is great. Although it serves slightly different purpose and pursues different goal. Disclaimer - I'm not a Fody dev, here goes my personal opinion. Fody is more low level framework that exposes underlying CIL (common intermediate language) structures to the developer. It's purpose is to allow developers create Weavers that manipulate CIL. So Fody can be used to create something like AspectInjector (it was not). The idea - let's give developers ability to write easy (arguably) code that manipulates CIL. Anything is possible to do in CIL.

AspectInjector on the other hand is more high level framework what allows developers to create AOP structures in high level language (c#, vb) and bind them statically via CIL. All the CIL manipulations are hidden and automatic. The idea - let's give developers ability to write high level code that we wire-up for them. We just do binding in CIL - everything else can be done in high level language.

jerviscui commented 3 years ago

Thank you very much for your work!

pamidur commented 2 years ago

165 #166