第二周作业(Cache 接口隔离优化)
1.缓存的增删改查接口与缓存对象的创建接口分离,分别对应接口 Cache 和 CacheBuild,不同的缓存类型 NativeCache , ReidsCache 分别实现这两个接口。
2.Config 类用来实例化 Cache 对象,根据传递的 cacheType 来区分要实例化的缓存类型,Config 类被客户端实例化,客户端调用 getCacheObject 获取缓存对象。
3.客户端获取到缓存对象后,调用缓存的增删改查接口操作缓存内容。
本设计的一个缺点是,客户端自己决定要切换的缓存对象,在实际中系统根据运行情况自动切换,先后两次请求获取的缓存对象类型可不同。如果要进一步改良,可以由 Config 自动判断上下文(可以是来至于分布式配置系统下发的指令),并动态决定要实例化的缓存对象,Config 基于规则决策实例化对象,缓存对象一般使用单例模式。
评论