ios Aspects面向切面沉思录—面向结构编程—面向修改记录编程—面向运行时结构编程—元编程?

1、将主功能看成一个巨大的结构;

2、将切面注入的交叉业务看成是一组结构修改的注册;目标对象+方法是修改的键值;

3、Aspects引擎是修改的执行者、记录者、和维护者;

4、函数和方法是它操作和面对的数据单元;

5、结构的修改通过isa动态代理机制实现代理转发,通过消息转发机制实现重定向;

AspectInfo:修改键信息;

AspectIdentifier:修改参量信息;

AspectsContainer:基于类和方法名的修改记录信息;

AspectTracker:基于类的继承层次的修改记录;

1、进行修改注册;

2、使用动态代理机制修改底层派发机制;

3、在派发机制中查找修改记录并执行动态派发操作;

原文地址:https://www.cnblogs.com/feng9exe/p/10954130.html