zoukankan      html  css  js  c++  java
  • C#开发 典故

    面向切面编程

          饭店里的高级厨师怎么工作?我们知道,他不用洗菜切菜、不用端着盘子送菜、如果发现手里牛肉变质了他更不用拿着牛肉去找肉店老板理论,他的工作很单一:炒菜。
          当原料送来后,有专门的顺菜切菜工进行洗菜、切菜,然后把处理好的菜送给厨师,厨师只管下锅炒,炒完了送菜自然也不必关心,因为有专门的服务员负责这事。如果发现牛肉变质了,它只管说一声,自然有相应的人处理这事。
          这个场景就是典型的AOP(面向切面编程)。厨师可以看成是业务组件,它有个方法就是“炒菜”,但是炒菜前要切菜,炒完了要有人送菜,可这不是厨师该关心的事啊!于 是我们的切菜工和服务员就相当于拦截器,其中切菜工在炒菜前拦截,进行切菜,服务员在炒菜后拦截,负责送菜。当然,我们还有个异常拦截器:处理问题的人,就是那个当厨师发现肉变质了喊一声,就来处理的人。
          基于这个场景,我们看看这样有什么好处。首先是厨师职责单一了,他可以专注于自己的工作:炒菜,而不必理会不该自己关心的问题。而且“拦截器们”可以复用的,例如一个抠门的老板完全可以找3个厨师但是只招一名服务员,反正一名服务员就可以给三名厨师端菜,这样,拦截器的复用使得代码重复不见了!

     摘自:http://www.cnblogs.com/leoo2sk/archive/2008/11/05/1326655.html


  • 相关阅读:
    JSP 上传文件
    Extjs文件选择器
    Java String.split()用法小结
    extjs表单验证
    肌酸
    谷氨酰胺
    支链氨基酸
    乳清蛋白和支链氨基酸不得不说的关系
    谈提高健身效果的营养品系列之一: 乳清蛋白, 肌酸, 支链氨基酸
    Android图片加载框架最全解析(八),带你全面了解Glide 4的用法
  • 原文地址:https://www.cnblogs.com/scottckt/p/2096764.html
Copyright © 2011-2022 走看看