上篇我们笔记了可能都比较熟悉的简单工厂模式、工厂方法模式、抽象工厂模式以及单例模式。这篇咱们继续做笔记,介绍下原型模式、策略模式、适配器模式和模板模式。
1、原型模式
(一)、定义
用原型实例指定创建对象的类型,并通过拷贝这些原型来创建新的对象。
(二)、结构

作为原型的对象,需要声明 Cloneable接口,实现clone接口。通过实现的clone方法,我们可以将原来对象的数据,直接复制一份。但要注意复制后的数据和原来的的数据不是同一个对象。
(三)、代码演示
/**
* @Description: 原型模式
*/
public class OriginalMode implements Cloneable{
private Integer id;
private String name;
private kidsMode kidsMode;
public OriginalMode() {
}
public OriginalMode(Integer id, String name, kidsMode kidsMode) {
this.id = id;
this.name = name;
this.kidsMode = kidsMode;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public kidsMode getKidsMode() {
return kidsMode;
}
public void setKidsMode(kidsMode kidsMode) {
this.kidsMode = kidsMode;
}
@Override
public OriginalMode clone() {
OriginalMode originalMode = null;
try {
originalMode = (OriginalMode) super.clone();
// 防止属性对象在克隆,跟源对象共享属性对象
kidsMode keyStroke = this.kidsMode.clone();
originalMode.setKidsMode(keyStroke);
return originalMode;
} catch (CloneNotSupportedException e) {
throw new RuntimeException(e);
}
}
@Override
public String toString() {
return "hashcode:"+ this.hashCode() +", OriginalMode{" +
"id=" +

本文介绍了设计模式中的原型模式、策略模式、适配器模式和模板方法模式,包括它们的定义、结构和代码实现,以及应用场景和区别。
最低0.47元/天 解锁文章





