近期项目开发过程中遇到一个问题:读取数据和缓存框架的耦合度过高,有没有方法解除这个耦合度。
思路:在整个业务中含4个模块
1:业务逻辑,使用数据
userData(){
//使用数据
getDate();
}
2:获取数据
getDate(){
Data data = getDateFromCache()
if(){
dat = getDateFromDB()
notify();
}
return data;
}
getDateFromDB();
}
3:从DB或文件,服务中获取数据
getDateFromDB(){
//获取数据操作
}
4:从缓存中获取数据
getDateFromCache(){
//从缓存中获取数据
}
5:缓存数据通知
nofity()
{
//缓存的通知
}
综合上述4个模块结合AOP思想设计架构。
业务中获取数据,执行getDate方法之前拦击执行getDateFromCache方法,如果数据不存在或者过期,执行getDateFromCache(),然后放入缓存,通知。
上述是我的个人构想,希望各位大侠拍砖。
具体的框架设计正在设计中
遇到的问题:
1:AOP设计,配置文件
2:Data的Key值设计