做网站 宁波一级做c爱片的网站
做网站 宁波,一级做c爱片的网站,wordpress qq登录微信登录,wordpress ajax顶踩我在网上看了一下关于AOP的各种介绍#xff0c;我觉得和我想象的不一样#xff0c;不可调和啊#xff0c;我的理解是从拦截来的 #xff0c;就是管道#xff0c;管道里面有很多面片#xff0c;你可以在这些面片里面插入逻辑#xff0c;这和事件基本是一回事啊#xff0…我在网上看了一下关于AOP的各种介绍我觉得和我想象的不一样不可调和啊我的理解是从拦截来的 就是管道管道里面有很多面片你可以在这些面片里面插入逻辑这和事件基本是一回事啊一个过程里面放一些占位方法就ok了 只不过对于拦截管道来说他是由很多个切片共同构成的所以并不是事件那样只是一个命名的契入点占位这个是其主要区别而网上那些 介绍说的是什么j8 横截面举什么j8 日志和主业务 不相关的东西需要 放在主业务周围的时候 有很多类都有这样的共同需求的时候就是AOP要解决的问题 完全 是两回事有些人还用很复杂 的技术 写泥码一弯弯想看死人啊什么IL,Attribute,EmitRemoting,。。。 真泥码h上天了... 所以我愤然写下这篇日志拒绝那些网上说的AOP概念 其实是豪无卵用的破玩意儿我们还是就关注管道和拦截吧 如何才能。。象wcf里象更高阶更成熟 的.net core中间件那样来玩切面管道才是真要所在啊这方面我还下不了嘴不过感觉 学会了会很受用啊 希望知音来和我一起分析 分析 我下面贴下 初步模拟aop 模型 using System;
using System.Collections.Generic;
using System.Threading.Tasks;namespace myaop{public class AopModel{public ActionPipe ConfigPipe;Pipe instance;public Context Run(Context ctx){this.instancenew Pipe(ctx);this.ConfigPipe?.Invoke(this.instance);foreach(var i in this.instance.aspects){i.Invoke(this.instance.ctx);}return this.instance.ctx;}}public class Pipe{public ListAspect aspects;public Context ctx;public Pipe(Context ctx){this.ctxctx;this.aspectsnew ListAspect();}}public class Context{public int state1;public int state2;public int state3;}public delegate Task Aspect(Context context);
} using System;
using System.Threading.Tasks;namespace myaop{public class Program{static public void Main(params string[] args){Console.WriteLine(aop test is start.);var aopnew AopModel();aop.ConfigPipe(pipe){//来个加减乘除pipe.aspects.Add(ctx{return Task.Run((){ctx.state3ctx.state1ctx.state2;});});pipe.aspects.Add(ctx{return Task.Run((){ctx.state3ctx.state3-ctx.state2;});});// pipe.aspects.Add(ctx{return Task.Run((){// ctx.state3ctx.state3*ctx.state2;// });});pipe.aspects.Add(ctx{return Task.Run((){ctx.state3ctx.state3/ctx.state2;});});};var resualtaop.Run(new Context{state15,state22});Console.WriteLine(resualt.state3);}}
} 在.net core中间件的设计里面Context 是一个委托这就更灵活了而且 处理连通过 一个 FuncContext,Context的类型进行传递这种设计 真的非常不一般 值得细细品味转载于:https://www.cnblogs.com/ProjectDD/p/10915552.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/89763.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!