static void Main(string[] args) { try { Console.WriteLine("欢迎来到.Net高级班vip课程,今天学习面向切面AOP"); #region AOP show //Console.WriteLine("************DecoratorAOP***********"); //DecoratorAOP.Show(); //Console.WriteLine("************ProxyAOP***********"); //ProxyAOP.Show(); //Console.WriteLine("************RealProxyAOP***********"); //RealProxyAOP.Show(); //Console.WriteLine("************CastleProxyAOP***********"); //CastleProxyAOP.Show(); Console.WriteLine("************UnityAOP***********"); UnityConfigAOP.Show(); //UnityAOP.Show(); #endregion } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.Read(); }
/// <summary> /// 1 AOP面向切面编程 /// 2 动态实现AOP /// 3 Unity、MVC中的AOP /// </summary> /// <param name="args"></param> static void Main(string[] args) { //使用.Net Remoting实现动态代理 //RealProxyAOP.Show(); //使用 Castle\DynamicProxy 实现动态代理 //CastleProxyAOP.Show(); //使用Unity容器实现AOP UnityConfigAOP.Show(); }
static void Main(string[] args) { try { Console.WriteLine("欢迎大家来到.Net高级班的Vip 课程,本次课我们来学一下AOP编程思想,我是Richard老师"); #region AOP show //Console.WriteLine("************DecoratorAOP***********"); //DecoratorAOP.Show(); //Console.WriteLine("************ProxyAOP***********"); //ProxyAOP.Show(); //Console.WriteLine("************RealProxyAOP***********"); //RealProxyAOP.Show(); //Console.WriteLine("************CastleProxyAOP***********"); //CastleProxyAOP.Show(); //如果需要 通过Unity实现支持Aop 需要先引入DLL //Console.WriteLine("*******************UnityConfigAOP*****************"); UnityConfigAOP.Show(); //可以使用特性 //老师,是不是这个类中的每个方法在调用时候都要把每个注册的AOP都走一遍,如果不想让某个函数走AOP或则不想走某一个AOP怎么做? #endregion } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.Read(); }
void ExecuteUserCommand() { UnityConfigAOP.Show(); }