首页 > 代码库 > 阅读源码时看到的实际使用的设计模式汇总
阅读源码时看到的实际使用的设计模式汇总
之前看到了很多,这里做一个总结,方便以后查阅。持续更新,之前的一些看过的没有完全想起来,以后看到再想。
模板方法设计模式
(一)HttpServlet抽象类中的service方法。首先这个方法有两个,第一个是检查是否是http协议,不是抛出异常,是的话传给第二个service方法。
第二个方法根据http报文方法参数类型(post,get等等)具体丢给对应的doGet,doPost方法处理。而在这个HttpServlet抽象类级别上,这些方法都是直接抛出异常。换句话就是期待子类继承它,然后用模板方法设计模式。子类一般不用重写来自HttpServlet的service方法,当请求到来的时候,先调用父类的service方法对请求进行甄别,然后调用具体的底层实现。
(二)底层容器类。大量使用这个设计模式,很多操作依赖底层的某些方法的具体实现
(三)IO包。比如对于InputStream,它的具体read方法交给底层自己实现,来实现上层封装可复用的代码(比如安全的检查,边界的控制),底层根据不同的媒介具体实现怎么“读” 注意这里还使用了装饰者模式。
(四)worker的逻辑,这里存疑,和模板方法设计模式有类似的地方,但是又不全是。
阅读源码时看到的实际使用的设计模式汇总
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。