递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 936|回复: 7
打印 上一主题 下一主题

[视窗] 大家看看这样合理吗?

[复制链接]

413

主题

1897

帖子

7610

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
7610
QQ
跳转到指定楼层
楼主
发表于 2025-3-24 14:47:13 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
举个例子:

  1. <火山程序 类型 = "通常" 版本 = 1 />

  2. 类 C
  3. {
  4.     变量 B <类型 = B>

  5.     方法 实际使用处
  6.     {
  7.         B.a方法 ()

  8.         // 下面是实际效果;
  9.         // B.B方法_前初始化或清理 ()
  10.         // B.a方法 ()
  11.         // B.B方法_后初始化或清理 ()

  12.     }

  13.     #
  14. }

  15. 类 B <基础类 = A>
  16. {
  17.     方法 B方法_前初始化或清理 <公开 @视窗.跟随方法前 = "a方法">
  18.     {

  19.     }

  20.     方法 B方法_后初始化或清理 <公开 @视窗.跟随方法后 = "a方法">
  21.     {

  22.     }

  23.     #
  24. }

  25. 类 A <公开>
  26. {
  27.     方法 a方法 <公开>
  28.     {

  29.     }

  30.     #
  31. }
复制代码





专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

413

主题

1897

帖子

7610

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
7610
QQ
沙发
 楼主| 发表于 2025-3-25 10:46:10 | 只看该作者
@飞扬工作室 @创世魂
专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

6

主题

68

帖子

2837

积分

金牌会员

Rank: 6Rank: 6

积分
2837
板凳
发表于 2025-3-25 13:12:56 | 只看该作者
这种需求只用C++就足够,我之前封装过一个库,其中就有AOP的实现代码,而且在火山中正常使用,例子在这里:核心用户区某个问题的解决方案。使用也简单,不过缺点是实现代码晦涩难懂,想要修改有一定难度。
火山PC交流群: 748413192
回复

使用道具 举报

413

主题

1897

帖子

7610

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
7610
QQ
地板
 楼主| 发表于 2025-3-25 14:26:20 | 只看该作者
龙纹 发表于 2025-3-25 13:12
这种需求只用C++就足够,我之前封装过一个库,其中就有AOP的实现代码,而且在火山中正常使用,例子在这里: ...

对,就是这个意思。

专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

413

主题

1897

帖子

7610

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
7610
QQ
5#
 楼主| 发表于 2025-3-25 21:47:25 | 只看该作者
本帖最后由 urenai 于 2025-3-25 21:53 编辑
龙纹 发表于 2025-3-25 13:12
这种需求只用C++就足够,我之前封装过一个库,其中就有AOP的实现代码,而且在火山中正常使用,例子在这里: ...

龙总你说有没有一种可能:

前置 和 后置 依附函数,可以继承 参数
即:无参 不继承
       有参     继承

也就是说   

a方法(有参)
继承:b方法前(参数变量类型相同)
不继承:b方法前(无参)
专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

6

主题

68

帖子

2837

积分

金牌会员

Rank: 6Rank: 6

积分
2837
6#
发表于 7 天前 | 只看该作者
AOP的优点就是将核心逻辑和非核心逻辑分离,使我们可以专注于核心逻辑,方便代码编写和维护。
至于其他的一些公共行为,就是非核心逻辑。比如业务流程就少不了日志和权限验证,可以把这两个公共行为"横切"出来,也就是"切面"。
但是切面的数量不是固定的,而是可以*自*由组合,某个方法你可能需要一个权限验证,这需要参数,而计时的切面显然不需要任何参数。考虑到AOP代码的实际编写,想要兼容两者,只能在所有的方法中都传递参数。
在前面提到的C++代码实现中,每个切面的before、after方法参数都相同,就是这个原因。
你说的无参函数,你不使用这些参数就是了...
火山PC交流群: 748413192
回复

使用道具 举报

413

主题

1897

帖子

7610

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
7610
QQ
7#
 楼主| 发表于 7 天前 | 只看该作者
很强
专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

413

主题

1897

帖子

7610

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
7610
QQ
8#
 楼主| 发表于 6 天前 | 只看该作者
@飞扬工作室

说句话啊,能不能给实现啊
专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2025-4-2 05:22 , Processed in 0.104943 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表