Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring安全框架的WebSecurity配置适配器是适配器设计模式的一个例子吗?_Spring_Design Patterns - Fatal编程技术网

Spring安全框架的WebSecurity配置适配器是适配器设计模式的一个例子吗?

Spring安全框架的WebSecurity配置适配器是适配器设计模式的一个例子吗?,spring,design-patterns,Spring,Design Patterns,我在阅读适配器设计模式时,还遇到了Spring Security framework的WebSecurity配置适配器,我想知道它们是否有某种关联。特别是考虑到类名以Adapter结尾这一事实。 这肯定会加强我对设计模式的了解。在我看来WebSecurityConfigurerAdapter不能被视为GoF适配器模式的一个例子。这是该模式的公认定义: 适配器模式是一种设计模式,用于允许两个 不兼容的通信类型。一个类依赖于一个 未由另一个类实现的特定接口 适配器充当这两种类型之间的转换器 也就是说

我在阅读适配器设计模式时,还遇到了Spring Security framework的
WebSecurity配置适配器
,我想知道它们是否有某种关联。特别是考虑到类名以
Adapter
结尾这一事实。
这肯定会加强我对设计模式的了解。

在我看来
WebSecurityConfigurerAdapter
不能被视为GoF适配器模式的一个例子。这是该模式的公认定义:

适配器模式是一种设计模式,用于允许两个 不兼容的通信类型。一个类依赖于一个 未由另一个类实现的特定接口 适配器充当这两种类型之间的转换器

也就是说,我们有一个需要客户端使用的接口,但该接口不兼容,因此需要进行调整。适配器保存对适配器的引用,以便为客户端传输其操作:

现在,回到Spring的
WebSecurityConfigureAdapter
,它的Javadoc声明如下:

提供一个方便的基类来创建{@link WebSecurity配置器}实例。实现允许 通过重写方法进行自定义


因此,尽管被称为适配器,但它实际上是一种生成器,允许您自定义web安全的不同方面。

感谢您的澄清。这个解释完全消除了我的疑虑。