设计模式

1、原型模式

不通过new关键词来产生一个对象,而是通过对象复制来实现的模式叫做原型模式。

定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建心得对象。

Java中使用Cloneable标识clone方法。必须腹泻clone方法,才说明对象可以被拷贝,这里复写的是Object类中的clone方法。

通用代码:

public class PrototypeClass implements Cloneable{
@Override
public PrototypeClass clone()
{
PrototypeClass prototypeClass=null;
try{
prototypreClass=(PrototypeClass) super.clone();
catch(CloneNotSupportException e)
{//异常处理
}
return prototypeClass;
}
}
}

注意事项:

Java的浅拷贝和深拷贝问题。Java Object的clone()方法默认是浅拷贝的,指的是:

(1)类的成员变量中可变的引用对象,默认不拷贝;

(2)原始类型、不可变对象拷贝;

(3)String对象比较特殊,通过字符串池在需要的时候才在内存中创建新的字符串。

要想实现深拷贝,必须在复写clone方法中专门写针对成员变量的拷贝。

2、策略模式

定义一组算法,将每个算法封装起来,使他们之间可以互换。

context封装角色。策略模式的封装角色和被封装的策略类不是同一个接口。如果是同一个接口,就成为了代理模式。

封装角色的方法:(1)类中定义策略(私有的策略引用成员);(2)在构造函数中设置具体的策略;(3)在实施中通过多态实现不同的策略;






阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37693059/article/details/79973663
文章标签: Java 设计模式
上一篇java String 部分内容
下一篇spring spring boot 常见注解
想对作者说点什么? 我来说一句

Java设计模式-32讲视频百度盘

2016年10月11日 241B 下载

没有更多推荐了,返回首页

关闭
关闭