責任鏈 過濾器 模式

2021-07-24 23:39:59 字數 1356 閱讀 9064

假設從客戶端傳送資料給服務端,接著服務端再將資料傳輸回客戶端,同時需要將資料進行一些過濾,這時候就可以考慮過濾器模式。

首先定義request和response,裡面就封裝乙個string 

public class request

public class response

定義乙個filter介面

public abstract inte***ce myfilter

使用進filterchain行操作

public class filterchain implements myfilter

public void add(myfilter mf)

@override

public void dofilter(request request, response response,filterchain fc)

}

寫2個實現myfilter的類(具體的攔截類htmltagfilter,sensitivefilter)

public class htmltagfilter implements myfilter

}

public class sensitivefilter implements myfilter

}

public class main ;

filterchain fc = new filterchain();

fc.add(new htmltagfilter());

fc.add(new sensitivefilter());

//myprocessor myprocessor = new myprocessor(msg);

//string result = myprocessor.process(msg,fc);

fc.dofilter(request, response,fc);

system.out.println(request.requeststr);

system.out.println(response.responsestr);

}}

執行結果:

[a] 你好,不敏感,被動,我艹,****--htmltagfilter--sensitivefilter

responsestr--sensitivefilter--htmltagfilter

過濾器模式

簡介 這種模式允許開發人員使用不同的標準來過濾一組物件,通過邏輯運算以解耦的方式把它們連線起來。這種型別的設計模式屬於結構型模式,它結合多個標準來獲得單一標準。在本例中,以水果作為過濾的物件。水果的顏色和口味各有差別。有時我們只需要酸味的水果,有時只需要黃色的水果,這種情況下,就需要用到過濾器模式,...

過濾器模式

過濾器模式 用於過濾篩選 1.定義常規類 2.定義抽象介面類,用於過濾的函式接收list,並返回list 3.定義具體過濾類實現抽象介面,重寫過濾用的函式 4.定義用於操作的具體過濾類實現抽象介面,add,or,not 5.客戶端使用抽象介面類,進行具體的過濾操作 1.定義常規類 class dog...

過濾器模式

網上對過濾器的解釋已經很多了,而且這個模式的概念理解起來不算很難,但是發現網上提供的demo 寫得不好,所以這裡就給大家介紹一下如何實現合理的過濾器模式。這樣我們應該怎麼做呢?需要解耦,就需要把比較函式提取出來。經過思考,我們可以讓過濾器類持有乙個委託,這個委託就是用來過濾資料的,我們在建構函式中給...