探索Groovy与Java的融合:从DSL实现到语言集成
1. 构建宽带奖励DSL
为了展示DSL(领域特定语言)的工作原理,我们需要实现一个简易的宽带服务应用框架。以下是涉及的主要类及其功能:
- Account类 :用于维护用户的基本订阅信息,包括当前套餐、剩余积分、消费金额以及可访问的媒体列表。
class Account {
String subscriber
String plan
int points
double spend
Map mediaList = [:]
void addMedia (media, expiry) {
mediaList[media] = expiry
}
void extendMedia(media, length) {
mediaList[media] += length
}
Date getMediaExpiry(media) {
if(mediaList[media] != null) {
return mediaList[media]
}
}
}
- Media类 :描述媒体目录中的单个项目,包含标题、发布者、类型、是否为新发行、所需积分、价格和可访问天数等属性。
超级会员免费看
订阅专栏 解锁全文
1155

被折叠的 条评论
为什么被折叠?



