https://www.jianshu.com/p/0ea8c2fe8e10
这个模式其实是
Adapter模式和Decorator模式的统称。
1. 范例
Servlet规范中的javax.servlet.http.HttpServletRequestWrapper就是这种模式的经典例子。
HttpServletRequestWrapper继承自ServletRequestWrapper, 同时实现了HttpServletRequest。- 而
ServletRequestWrapper则是实现了ServletRequest接口。 - 注意
HttpServletRequestWrapper和ServletRequestWrapper都不是abstract, 所以是可以直接拿来用的。 不过我们一般是继承自它,然后覆写我们所关注的方法。
2. 分析
-
因为这些wrapper可以互相嵌套, 最终造就一个千层饼样式的对象。每一层都是
ServletRequest类型, 但每层只处理特定的一个需求, 这样就将

Wrapper模式在Servlet规范中有着经典应用,通过继承和实现接口来创建Wrapper类。该模式将复杂类的功能拆分成小模块,每个Wrapper专注于特定功能,增加可维护性和升级性。在执行时,Wrapper实例的包装顺序与执行顺序相反。
订阅专栏 解锁全文
2121

被折叠的 条评论
为什么被折叠?



