MVC过滤器-AOP思想初探
来源:互联网 发布:ug编程时不允许空标记 编辑:程序博客网 时间:2024/06/01 23:49
AOP:面向切面编程。“给程序统一添加新功能的一种思想”。
它是对传统OOP编程的一种补充。
OOP关注需求功能模块,封装良好的类,并让他们有属于自己的行为,侧重业务逻辑的实现。
AOP关注通用功能,而不关注业务逻辑,将不属于业务逻辑的部分给抽取出来。例如:日志、异常捕获、权限验证(拦截).
在web应用程序(Webform/MVC),我们登录后经常把用户信息存入Session中.然后再每个页面进行验证 用户是否登录,没有登录就跳转到登录页面。如:
public ActionResult Index()
{
if(Session["User"]==null)
{
return RedirectToAction("/Login/Index");
}
}
这个和业务逻辑 无关,如果每个页面都这样去验证用户是否登录,就太麻烦了。
公共的部分给抽取出来。在ASP.NET MVC中,filter就是一种面向切面的技术了。
AOP是预先定义的一组特性Attribute,使它具有拦截方法的功能,可以让你在执行代码之前、之后,处理你的事情。
ASP.MET MVC中,有ActionFilter,ExceptionFilter。
1.Action过滤器继承ActionFilterAttribute类,Action执行之前执行一段代码,重写OnActionExecuting方法,执行完毕重写OnActionExecuted
所以,我们写一个Action过滤器,在filtreConfig中注册为全局filter,这样执行每个Action都可以去验证Session了。
2.Exception过滤器继承HandleErrorAttribute类,在程序发生异常的时候执行一段代码。重写OnException方法。
在程序添加、删除、修改数据时候,有可能出现异常,我们通常做法都是在每个Action中使用try...catch代码块出现异常弹出异常信息给用户。
这个也是和业务逻辑无关的,如果每个Action中都写try...catch 就显得太臃肿。
简化代码,注册全局的异常过滤器,用来捕捉应用程序的异常,并进行相应的处理(自定义消息返回格式{IsSuccess:xx,msg:xx})
这样当程序出现异常,过滤器已经捕捉到了,并根据自定义的消息格式返回给前台。就不用再每个Action中写try...catch了。简化了代码。
- MVC过滤器-AOP思想初探
- MVC过滤器 实现AOP(入门)
- Thinkphp5.0 MVC思想初探
- MVC中的AOP思想——Filter
- Filter过滤器(拦截器)实现AOP思想
- MVC 过滤器的执行顺序 AOP面向切面编程
- 过滤器初探
- AOP初探
- 初探aop
- 初探aop
- AOP思想
- AOP思想
- AOP思想
- MVC 过滤器
- MVC 过滤器
- MVC过滤器
- MVC 过滤器
- MVC过滤器
- 策略模式
- 【ttf 压缩】html网页引用中文字体,文件过大,加载缓慢的解决办法【字蛛】【web font】
- 14 指针热身
- 对象关系映射
- poj 1511 Invitation Cards(spfa + 邻接表 + 反向思维t)
- MVC过滤器-AOP思想初探
- Android中的ExpandableListView介绍
- C/C++头文件大全
- 百练 4130 Saving Tang Monk [BFS+优先队列+状态压缩]
- Java之内部类链接到外部类(外围类)详解(附源码)
- ap = a (mod p)
- 【9701】求余运算
- 按照圆周顺时针布局多个view
- GIT使用