1、将主功能看成一个巨大的结构;
2、将切面注入的交叉业务看成是一组结构修改的注册;目标对象+方法是修改的键值;
3、Aspects引擎是修改的执行者、记录者、和维护者;
4、函数和方法是它操作和面对的数据单元;
5、结构的修改通过isa动态代理机制实现代理转发,通过消息转发机制实现重定向;
AspectInfo:修改键信息;
AspectIdentifier:修改参量信息;
AspectsContainer:基于类和方法名的修改记录信息;
AspectTracker:基于类的继承层次的修改记录;
1、进行修改注册;
2、使用动态代理机制修改底层派发机制;
3、在派发机制中查找修改记录并执行动态派发操作;