随笔分类 - 设计模式
摘要:前言 此篇随笔记录《How Tomcat works》中关于Lifecycle接口的相关总结 Lifecycle接口的主要目的 核心:统一。 已知Tomcat的卡特琳娜(Catalina)由许多组件构成。当Catalina启动的时候,这些组件也要跟着一起启动,并且当Catalina关闭的时候,这些组
阅读全文
摘要:前言 做后台的,Filter肯定没少配置,但是知晓其原理的可能不多。在这之前我也不懂,但这并不影响业务开发,同时也有其他的知识要学,所以一直就没看。这阵子有点闲,刚好在看《How Tomcat Works》的PipeLine相关内容。索性好好梳理一下FilterChain相关的知识。 类图 Filt
阅读全文
摘要:首先,我们得清楚为何要解耦? 耦合的坏处就是,牵一发而动全身,比如,当我更改了类A或其子类的时候,类B也要进行修改。这里,解除耦合,就意味着,即使你Receiver怎么改,添加了多少,删除了多少。我Invoker都不需要做什么改动。 有人会说,这不是很好办吗,我定义一个接口,每个Receiver都实
阅读全文
摘要:实现线程任务有两种方式,一种是创建Runnable/Callable对象,传递给Thread。另一种是子类重写Thread的run方法。 我觉得前一种像极了命令模式,或者说应该是命令模式的一个使用案例。 相似如下: (1)Runnable 接口,只定义一个"()V"(表示无参,返回值为void)的方
阅读全文
摘要:什么是策略模式? 个人认为,设计模式的定义是比较晦涩抽象的,了解设计模式的最合适的方法就是先看看它的使用场景和相关案例,Java的JDK中就有此设计模式的体现。先讲一个比较简单的,那就是File的文件过滤机制。File类中有个list(FilenameFilter filter)的方法用于过滤Fil
阅读全文