究竟是编译期支持还是运行期实现 AOP,取决千语言自身的设计。举例来说,在 iOS 系统中,Objective C 本身提供了 强大的运行时和动态性,使得AOP在运行期简单易用。在 Android 系统中,Java 语言的特点不仅可以实现 AspectJ 为代表的基于字节码修改的 编译期静态代理 ,也可以实现 Spring AOP 为代表的基千运行 时增强的运行期动态代理。那么 Dart 呢?一方面 Dart 的反射支持很弱,只支持检查(Introspection), 不支持修改 ( Modification ); 另一方面,Flutter 为了控制包大小,保证健壮性等原因, 禁止了反射。
资料来源:《闲鱼Flutter技术解析与实战》,下载链接为:https://developer.aliyun.com/topic/download?id=19。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。