您的位置:首页 > 其它

关于职责链模式的个人理解

2017-11-03 10:58 309 查看

 

再没了解职责链模式之前,对于一个请求可能有很多种处理办法. 以前的做法就是 If Else 循环判断

现在了解责任链模式之后,理解之后,可能就是 一个请求处理 管理类. 将所有的处理类管理起来, 其中有个next属性,标注下一个处理类是哪个?

然后提供统一的处理接口, 接口里面判断 如果处理不成功 由下一个处理.

 

想起查统组件代码里 一块关于缓存的处理.

可以用于缓存的有 osCache memCache disCache等等, 但是根据缓存的特点,不是所有的内容都缓存在一种组件的,

但是可以提供统一的cache接口,

AbsStore 一个抽象的缓存接口, 含有nextStore引用.
StoreLink 就是管理所有AbsStore的实现类,同时设置每个累的nextStore,

然后 AbsStore 实现一个方法, getCache 就是先判断CacheTypeContains 这是个抽象方法,每个子类实现自己的, 如果不满足的nextStore.getCache

总结起来, 了解了设计模式 回头再去看代码更容易理解.

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: