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