Najlepszy samouczek Przechwytywanie wzór filtru W 2024 r. W tym samouczku możesz dowiedzieć się realizacja,Etap 1,Etap 2,etap 3,,Etap 4,Etap 5,Etap 6,Krok 7,Krok 8,
Przechwytywanie wzór Filter (Filtr przechwytujące wzorzec) Wnioski o wydanie wniosku lub w odpowiedzi, aby zrobić kilka wstępnego przetwarzania / post-processing. Definiowanie filtru, a przed złożeniem wniosku do praktycznego stosowania docelowej aplikacji na żądanie. Filtry mogą zrobić uwierzytelniania / zezwolenie / rejestrowanie lub prośbę śledzenia, a następnie wniosek do właściwej obsługi. Poniższa jest podmiotem tego wzorca projektowego.
StworzymyfilterChain,FilterManager, Target, Klient oświadcza podmioty jako różnych obiektów.AuthenticationFilteriDebugFilterstanowią filtry podmiotów.
InterceptingFilterDemo pokazujemyużycie klasyClientzademonstrowania przechwytującym wzorzec projektowania filtrów.
Utwórz filtr interfejsu filtr.
Filter.java
Filtr {public interface public void execute (wniosek string); }
Utwórz filtr podmiotu.
AuthenticationFilter.java
public class AuthenticationFilter realizuje Filter { public void execute (wniosek string) { System.out.println ( "Uwierzytelnianie żądania:" + request); } }
DebugFilter.java
public class DebugFilter realizuje Filter { public void execute (wniosek string) { System.out.println ( "Żądanie dziennika:" + request); } }
Tworzenie docelowy.
Target.java
{public class docelowa public void execute (wniosek string) { System.out.println ( "Wykonując zapytanie:" + request); } }
Tworzenie łańcucha filtrów.
FilterChain.java
import java.util.ArrayList; import java.util.List; {public class filterChain Lista Prywatne <Filtr> Filtry = new ArrayList <Filtr> (); prywatne target docelowy; public void addFilter (Filtr) { filters.add (filtr); } public void execute (wniosek string) { dla (Filtr: Filtry) { filter.execute (request); } target.execute (request); } public void SetTarget (target docelowy) { this.target = docelowy; } }
Utwórz filtr Manager.
FilterManager.java
{public class FilterManager FilterChain filterChain; publicznego FilterManager (target docelowy) { filterChain = new filterChain (); filterChain.setTarget (cel); } public void setFilter (Filtr) { filterChain.addFilter (filtr); } public void filterRequest (request String) { filterChain.execute (request); } }
Tworzenie klienta klienta.
Client.java
public class Client { FilterManager filterManager; public void setFilterManager (FilterManager filterManager) { this.filterManager = filterManager; } public void wyslacwniosek (request String) { filterManager.filterRequest (request); } }
Użyjklientado wykazania przechwytując wzorzec projektowania filtrów.
FrontControllerPatternDemo.java
{public class InterceptingFilterDemo public static void main (String [] args) { FilterManager filterManager = new FilterManager (nowa docelowa ()); filterManager.setFilter (New AuthenticationFilter ()); filterManager.setFilter (New DebugFilter ()); Client client = new Client (); client.setFilterManager (filterManager); client.sendRequest ( "HOME"); } }
Sprawdź, czy wyjście.
Uwierzytelnianie żądania: HOME Żądanie dziennika: HOME Wykonywanie żądania: HOME