22、CaesarJ编程语言:特性、关联技术与未来展望

CaesarJ编程语言:特性、关联技术与未来展望

1. 相关工作概述

与相关技术工作可以分为三类:分层组合、横切组合和动态方面控制。

2. 分层组合
  • 虚拟类的发展 :虚拟类最初在Beta中引入,后在gbeta中进一步发展,补充了混入组合和家族多态性。CaesarJ在JVM上对这些概念进行了坚实的实现,并将其与横切组合的语言特性相结合。
  • Jx和Keris :Jx支持一种嵌套继承,但它将内部类视为周围类的属性,而非封闭对象的属性,其适用性仅限于线性细化,因为它没有为家族类提供任何组合机制。Keris也支持类似的类线性细化,但它是作为静态模块的扩展技术,而非可实例化的家族类。
  • AHEAD :基于GenVoca和Mixin Layers的思想,AHEAD支持将应用程序特性模块化到称为层的大规模单元中,这些层是描述应用程序不同工件片段(包括Java类片段)的文件集。层使用类似于CaesarJ的混入组合技术进行组合,其实现基于源到源的转换。但层缺乏子类型和抽象能力,而在CaesarJ中,抽象对于确保单个家族类及其组合的有效性起着重要作用。此外,AHEAD通过额外的规范来确保层的可靠组合,与CaesarJ的家族类不同,层不能被实例化和多态使用。
  • 虚拟类和特征的组合 :虚拟类沿着两个维度进行组合:首先组合同一虚拟类的混入,然后将这样的混入列表与其超类的类似混入列表进行组合。特征也支持类沿着两个维度的组合:在类内部组合特征,然后沿着继承层次结构进行组合。类内部
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值