woieha320r的博客

委派

委托者不自己处理任务,根据某种策略选择委托人代处理。比如上级分配任务

· spring security的ProviderManager::authenticate()应该属于委派,它会分别调用AuthenticationProvider实现类的support(),选择声称可 验证此Authentication的Provider,让其验证

classDiagram class AuthenticationProvider { <<interface>> +support(Class clazz) boolean +authenticate(Authentication authentication) void } class JwtAuthenticationProvider JwtAuthenticationProvider ..|> AuthenticationProvider : 实现 class UsernamePasswordAuthenticationProvider UsernamePasswordAuthenticationProvider ..|> AuthenticationProvider : 实现 class ProviderManager { +authenticate(Authentication authentication) void } ProviderManager ..> JwtAuthenticationProvider : 局变 ProviderManager ..> UsernamePasswordAuthenticationProvider : 局变