1

我有这种情况:我有一个查询处理程序链,首先是查询缓存,如果缓存无法回答或答案陈旧,则打数据库,如果找不到答案或答案又过时了,然后查询远程 Web 服务。

但我不确定这是否是使用此模式的正确方法,因为工作流程几乎是固定的,并且缓存和数据库处理程序依赖于下一步的返回结果来刷新其记录。

4

2 回答 2

0

严格来说,您所指的不是责任链模式。听起来更像是在实现缓存。如果您正在实现缓存,那么您描述的场景很好。但是,如果您正在寻找真正的责任链,则不是。

于 2010-05-16T22:58:17.080 回答
0

您可以实现一个简单的继承层次结构,而不是像这样的链。

Interface
+getData()
^
|
RemoteWebserviceImpl
^
|
DatabaseImpl
^
|
CacheImpl
于 2014-08-28T04:00:01.787 回答