假設從客戶端傳送資料給服務端,接著服務端再將資料傳輸回客戶端,同時需要將資料進行一些過濾,這時候就可以考慮過濾器模式。
首先定義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 寫得不好,所以這裡就給大家介紹一下如何實現合理的過濾器模式。這樣我們應該怎麼做呢?需要解耦,就需要把比較函式提取出來。經過思考,我們可以讓過濾器類持有乙個委託,這個委託就是用來過濾資料的,我們在建構函式中給...