18、深入探索CaesarJ:面向方面编程的创新语言

深入探索CaesarJ:面向方面编程的创新语言

1. 引言

在软件开发领域,面向方面编程(AOP)被广泛视为一种通过拦截相关事件执行来定位横切关注点,从而触发特定功能的技术。近年来,人们越发关注软件模块化的其他特性,如对变更的鲁棒性、定义明确的接口、信息隐藏以及可重用性。

CaesarJ是一种面向方面的语言,它对可重用性提供了强大支持。该语言将面向方面的切入点和通知构造与先进的面向对象模块化机制相结合。从面向方面的角度看,这种特性组合使大规模方面可重用,实现了方面组件化;从组件化的角度看,CaesarJ解决了将独立组件集成到应用程序中,同时无需修改待集成组件或应用程序的问题。

2. CaesarJ解决的问题概述
2.1 超越单个类的大规模模块化单元

大量研究表明,类作为模块化单元显得过小。大规模的功能通常涉及一组相关的类,因此抽象、后期绑定和子类型多态应在相互关联的类组层面得到支持。文献中使用了不同术语来表示这些相互关联的类组,如协作、层、团队和家族等,本文采用类家族这一术语。

为说明将抽象、后期绑定和子类型多态概念扩展到类家族层面的必要性,以一个用于显示层次数据结构的软件为例。该软件的数据模型为复合结构,节点随机标记为childA、childB等,布局采用固定大小的节点框,节点间连接为直线。

对该显示功能进行简单变体,如使节点框大小可根据显示内容调整、采用直角连接或使用颜色编码层次级别等。这些变体既可以单独使用,也能组合使用,这就需要增量式编程风格和灵活的组合机制。

在传统面向对象语言中,通过子类化节点和连接抽象来定义不同变体时,需要确保对节点和连接的引用能重新绑定到新定

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值