28、AspectJ在设计模式与方法缓存中的应用

AspectJ在设计模式与方法缓存中的应用

1. 紧密耦合的问题与桥接切面

在软件开发中,组件与容器的紧密耦合是一个常见的问题。一些框架会采用反射和元数据描述文件等技术来解决组件与容器的耦合问题,这类系统在一定程度上也展现出了面向切面编程(AOP)的特性。

紧密耦合存在诸多弊端。例如,若 PersistentObject 的接口需要变更,该变更会波及所有受影响的类。并且,具有持久化特性的 Employee 类无法在不同持久化概念的系统中复用。将持久化功能直接融入 Employee 类还会降低其内聚性。当该类承担的角色较少时,这种影响尚不明显;但随着承担的角色增多, Employee 类将难以有效代表其核心抽象。

为解决这些问题,AspectJ引入了“桥接”切面。以 EmployeePersistence DepartmentPersistence 这两个桥接切面为例,它们实现了 PersistenceProtocol 并使其适配 Employee Department 类。虽然这些桥接切面与行为模式和组件类紧密相关,但这种耦合方式有所不同,它将耦合进行了封装。桥接切面就像组件与模式之间的适配器,角色扮演者和角色定义者无需了解彼此,最终实现了更独立的模块。借助新的桥接切面, PersistenceProtocol 可应用于新系统, Employee

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值