简介:
本文是个系列一次会出两个设计者模式作用,如果有关联就三个,除此外还会讲解在spring中作用。
23设计者模式以及重点模式
我们都知道设计者模式有3类23种设计模式,标红是特别重要的设计者模式建议都会,而且熟读于心。标蓝是指其次重要建议也要明白。
(1)创建型模式:单例模式、抽象工厂模式、构建者模式、工厂模式、原型模式。
(2)结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
(3)行为型模式:访问者模式、模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式。
建造者模式(Builder Pattern)
- 目的:将一个复杂对象的构造与其表示分离,使得同样的构建过程可以创建不同的表示。
- 使用场景:当构建复杂对象时,特别是当对象包含多个成员属性时。
- 实现方法:将对象的构建过程封装在一个 Builder 类中,逐步构建复杂对象
一般来说,如果一个对象的构建比较复杂,超出了构造函数所能包含的范 围,就可以使用工厂模式和Builder模式,相对于工厂模式会产出一个完整的产品,Builder应用于更加 复杂的对象的构建
示例:
public class Pizza {
private String dough;
private String sauce;
private String topping;
public static class Builder {
private String dough = "";
private String sauce = "";
private String topping = "";
public Builder dough(String val) {
dough = val;
return this;
}
public Builder sauce(String val) {
sauce = val;
return this;
}
public Builder topping(String val) {
topping = val;
return this;
}
public Pizza build() {
return new Pizza(this);
}
}
private Pizza(Builder builder) {
dough = builder.dough;
sauce = builder.sauce;
topping = builder.topping;
}
}
Spring的中使用:
用于构建复杂的对象,常见于创建响应实体 ResponseEntity 或者复杂的 Bean。
单例模式(Singleton Pattern)
- 目的:确保一个类只有一个实例,并提供一个全局访问点。
- 使用场景:当你需要确保全局只有一个对象实例时,如配置管理器、线程池等。
- 实现方法:通过私有化构造方法并提供一个静态方法来获取唯一实例。
学术上说单例模式一般有两种,懒汉式和饿汉式
示例
饿汉式是有个上来就会加载的类对象。
懒汉式
Spring的中使用:
在 Spring 框架中,默认情况下,所有的 Bean 都是以单例模式创建的。这意味着每个 Bean 的实例在 Spring 容器中只有一个。
------------------------------------------与正文内容无关------------------------------------
如果觉的文章写对各位读者老爷们有帮助的话,麻烦点赞加关注呗!作者在这拜谢了!
如果你需要Java 、Python毕设、网页和系统设计,还有你是刚入职的新手需要度过试用期。联系方式微信:Romanticl99 网名:A乐神