AOP
2015-06-17 18:49
246 查看
什么是切片
程序要完成一件事情,一定会有一些步骤,1,2,3,4这样。这里分解出来的每一个步骤我们可以认为是一个切片。什么是AOP
你针对每一个切片的间隙,塞一些代码进去,在程序正常进行1,2,3,4步的间隙可以跑到你塞进去的代码,那么你写这些代码就是面向切片编程解决什么问题
如果想在每个步骤中间做一些自己的事情,不用AOP的话,需要直接往步骤之间塞代码就好了。但通常塞进去的代码很有可能跟原业务无关,比如统计。这就会导致同一份代码文件里掺杂了多种业务,造成业务之间的耦合。为了降低这种耦合,需要使用AOP如何实现AOP
AOP一般都是需要有一个拦截器,然后在每一个切片运行之前和运行之后(或者任何你希望的地方),通过调用拦截器的方法来把这个jointpoint扔到外面,在外面获得这个jointpoint的时候,执行相应的代码。iOS中实现AOP总体来说有两种方法:
method swizzling. 这种方法的最小粒度是方法。这种方法有了成熟的开源库Aspects.
delegate. 定义一个protocol, 然后在合适的时机把jointpoint扔给代理,让代理做一些事情。
本文参考
iOS应用架构谈(三):View层的组织和调用方案(下)相关文章推荐
- 纸牌矫正opencv
- Linux Socket 编程
- Linux命令-定时任务命令:crontab
- 修改/etc/profile导致常用命令不可用的解决办法
- 记录一些有趣的有意思的有用的网站
- CentOS怎样查看系统信息
- win7 xshell登录虚拟机的centos
- CentOS下nginx+mysql+php环境安装,小结
- Linux包管理命令与Ubuntu下安装nginx的方法
- Linux下如何查看高CPU占用率线程 LINUX CPU利用率计算
- U盘启动安装linux系统
- Linux(Centos)全自动异地备份数据(WEB+Mysql)
- nginx优化25条
- 《学习OpenCV》第三章课后题6
- centos 7 相关笔记
- Centos7 Lnmp的数据库目录修改
- openstack(kilo) 使非admin用户看到虚拟机所在的宿主机
- 【重磅】大众点评运维架构图文详解 @马哥教育联合创始人张冠宇
- Linux内核中kfifo使用
- 在Linux系统中修改文本的字符编码的方法