mirror of
https://github.com/zhwei820/learn.lianglianglee.com.git
synced 2025-11-19 23:53:48 +08:00
fix img
This commit is contained in:
@@ -239,7 +239,7 @@ function hide_canvas() {
|
||||
<p>过滤器模式就是将一组对象,根据某种规则,过滤掉一些不符合要求的对象的过程。</p>
|
||||
</blockquote>
|
||||
<p>如在互联网上发布信息时敏感词汇的过滤,在 Web 接口的请求与响应时,对请求和响应信息的过滤。过滤器模式的核心思想非常简单:就是把不需要的信息过滤掉,怎么判定哪些是不需要的信息呢?这就需要制定规则。过滤的过程如下图:</p>
|
||||
<p><img src="assets/3e919c40-8e53-11e8-80d1-2d51ff7e1c55.jpg" alt="enter image description here" /></p>
|
||||
<p><img src="assets/3e919c40-8e53-11e8-80d1-2d51ff7e1c55.jpg" alt="png" /></p>
|
||||
<p>举一更加形象的例子,在基建行业中,沙子是最重要的原材料之一,这些沙子很多是从江河中打捞上来的,而打捞上来的不只有沙子,还有小石头和水。若要得到这些颗粒均匀的沙子,就必须把水和石头过滤掉。</p>
|
||||
<h4>与职责模式的联系</h4>
|
||||
<p>在《[生活中的职责模式——我的假条去哪了]》一文中,我们讲了职责模式(也就是责任链模式)。过滤器与责任链的相似之处是处理过程都是一环一环地进行,不同之处在于责任链中责任的传递一般会有一定的顺序,而过滤器通常没有这种顺序,所以过滤器会比责任链还简单。</p>
|
||||
@@ -282,7 +282,7 @@ class FilterChain(Filter):
|
||||
</code></pre>
|
||||
<h4>类图</h4>
|
||||
<p>上面的代码框架可用类图表示如下:</p>
|
||||
<p><img src="assets/4cd24ac0-8e53-11e8-9cd7-51dfc6c66063.jpg" alt="enter image description here" /></p>
|
||||
<p><img src="assets/4cd24ac0-8e53-11e8-9cd7-51dfc6c66063.jpg" alt="png" /></p>
|
||||
<p>Filter 是所有过滤器的抽象类,定义了统一的过滤接口 doFilter()。FilterA 和 FilterB 是具体的过滤器类,一个类定义一个过滤规则。FilterChain 是一个过滤器链,它可以包含多个过滤器,并管理这些过滤器,在过滤对象元素时,包含的每一个过滤器都会进行一次过滤。</p>
|
||||
<h4>基于框架的实现</h4>
|
||||
<p>有了上面的代码框架之后,我们要实现示例代码的功能就会更简单明确了。最开始的示例代码假设它为 version 1.0,那么再看看基于框架的 version 2.0 吧。</p>
|
||||
|
||||
Reference in New Issue
Block a user