HarmonyOS 鸿蒙Next切面编程(AOP)只能对一个方法做处理吗

发布于 1周前 作者 nodeper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next切面编程(AOP)只能对一个方法做处理吗

https://developer.huawei.com/consumer/cn/doc/best-practices-V5/bpta-application-aspect-programming-design-V5#section7148435113516

我看官方的案例里面都是要指定类和方法,如果要对多个方法进行切面编程要怎么处理



关于HarmonyOS 鸿蒙Next切面编程(AOP)只能对一个方法做处理吗的问题,您也可以访问:https://www.itying.com/category-93-b0.html 联系官网客服。

6 回复

有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html

切面编程(AOP)并不只能对一个方法做处理。AOP的核心思想是将程序的关注点分离,通过在程序中插入代码来实现对业务逻辑的各个部分进行隔离和处理。AOP的主要接口包括addBefore、addAfter和replace,这些接口可以在运行时对类方法进行前置插桩、后置插桩以及替换实现。

### addBefore接口

addBefore接口可以在方法执行前插入代码,适用于在方法执行前进行初始化、参数校验、日志记录等操作。例如,可以在方法执行前插入参数校验的逻辑,确保参数的合法性。

### addAfter接口

addAfter接口可以在方法执行后插入代码,适用于在方法执行后进行结果处理、性能统计等操作。例如,可以在方法执行后插入统计执行时间的逻辑。

### replace接口

replace接口可以替换原有方法的实现,适用于动态替换方法的功能。例如,可以使用replace接口在不修改原有方法的情况下,动态替换原有方法的实现。

AOP并不仅限于对一个方法做处理,而是可以通过不同的接口和组合方式,对方法的执行过程进行前置、后置处理以及方法替换,从而实现对业务逻辑的不同部分进行灵活的处理。

对多个方法处理调用多次util.Aspect的方法即可。

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17

我的意思是方法都需要写util.Aspect,如果我要对多个方法进行处理,就需要写多次util.Aspect,逻辑相同的情况下代码就重复了。有没有像java那样的写发,比如对使用了指定注释@XXX的方法进行处理,这样就不用写多次util.Aspect了

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17

看起来是不行的。不过有个思路,可以自己实现注解,然后在编译的时候自动生成插桩代码

回到顶部