本文是个系列一次会出两个设计者模式作用,如果有关联就三个,除此外还会讲解在spring中作用。
我们都知道设计者模式有3类23种设计模式,标红是特别重要的设计者模式建议都会,而且熟读于心,标蓝是指其次重要建议也要明白。
(1)创建型模式:单例模式、抽象工厂模式、构建者模式、工厂模式、原型模式。
(2)结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
(3)行为型模式:访问者模式、模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式。
原型模式是一种创建型设计模式,它允许对象在创建时复制现有对象(称为原型),而不是通过实例化新对象。这对于创建成本高的对象特别有用。
Cloneable
接口,用于指示一个类的实例可以被克隆。clone
方法:在类中重写 Object
类的 clone
方法,用于创建对象副本。public class Prototype implements Cloneable {
private String field;
public Prototype(String field) {
this.field = field;
}
@Override
public Prototype clone() throws CloneNotSupportedException {
return (Prototype) super.clone();
}
}
在 Spring 中,原型模式的一个应用是在定义 bean 作用域时。当一个 bean 的作用域被定义为 prototype
时,每次通过 Spring 容器请求这个 bean 时,都会创建一个新的实例,而不是复用相同的实例。
适配器模式是一种结构型设计模式,它允许不兼容的接口之间进行交互。通过创建一个中间层(适配器),使得原本由于接口不兼容而不能一起工作的类可以协同工作。
// 目标接口
public interface TargetInterface {
void targetMethod();
}
// 被适配的类
public class Adaptee {
public void specificMethod() {
System.out.println("Specific method of Adaptee is called.");
}
}
// 适配器类
public class Adapter implements TargetInterface {
private Adaptee adaptee;
public Adapter(Adaptee adaptee) {
this.adaptee = adaptee;
}
@Override
public void targetMethod() {
adaptee.specificMethod();
}
}
看以上应用,就像@Autowired注入到本地使用其他实现类一样。Spring 中的许多模块使用适配器模式来确保跨不同模块的兼容性,例如 Spring MVC 中,将不同框架的 Controller 适配为 Spring 框架能理解的形式。
------------------------------------------与正文内容无关------------------------------------
如果觉的文章写对各位读者老爷们有帮助的话,麻烦点赞加关注呗!作者在这拜谢了!
如果你需要Java 、Python毕设、网页和系统设计,还有你是刚入职的新手需要度过试用期。联系方式微信:Romanticl99 网名:A乐神