继续前一章《本地服务容错》
问题:考虑加载内存ProductCatalog缓存和基于LocalProducts文件缓存的可选方案:
一种是惰性初始化(lazy init):当实际读取外部产品信息时,逐步加载缓存。
一种是立即初始化(eager init):系统启动时,立即加载缓存。
如果设计者不能确定使用哪种策略时,并且想实验每种方式,那么基于策略模式的一组不同的CacheStrategy对象能够巧妙的解决这个问题。
继续前一章《本地服务容错》
问题:考虑加载内存ProductCatalog缓存和基于LocalProducts文件缓存的可选方案:
一种是惰性初始化(lazy init):当实际读取外部产品信息时,逐步加载缓存。
一种是立即初始化(eager init):系统启动时,立即加载缓存。
如果设计者不能确定使用哪种策略时,并且想实验每种方式,那么基于策略模式的一组不同的CacheStrategy对象能够巧妙的解决这个问题。