JAVA原型模式

1.原型模式的概念

理解:原型模式是创建型模式的一种,其特点在于通过“复制”一个已经存在的实例来返回新的实例,而不是新建实例。被复制的实例就是我们所称的“原型”,这个原型是可定制的。

应用:原型模式多用于创建复杂的或者耗时的实例,因为这种情况下,复制一个已经存在的实例使程序运行更高效;或者创建值相等,只是命名不一样的同类数据。

角色:

客户(Client)角色:客户端类向原型管理器提出创建对象的请求。
抽象原型(Prototype)角色:这是一个抽象角色,通常由一个java接口或抽象类实现。此角色给出所有的具体原型类所需的接口。
具体原型(Concrete Prototype)角色:被复制的对象。此角色必须实现抽象的原型角色所要求的接口。

2.UML图


3.通用代码

抽象原型:

public interface Prototype extends Cloneable{
	//克隆方法
	Prototype clone();
	   //更多具体逻辑
		//......
}

具体原型:

public class ConcretePrototype implements Prototype{
    public Prototype clone(){
    	try {
			return (Prototype)super.clone();
		} catch (CloneNotSupportedException e) {
			e.printStackTrace();
    	      return null;
        }
    }
}

客户:

public class Client {
      public void operation(Prototype example){
            //需要创建原型接口的对象
            Prototype copyPrototype =  example.clone();

        }
}

4.小结

写完这篇,已经把创建模式写完了,回顾一下吧。

单例模式:保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。

简单工厂模式:工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式;

工厂方法模式:一个用于创建对象的接口,让子类决定实例化了哪个类。工厂方法使一个类的实例化延迟到其子类。 用于生产同一等级结构中的固定产品。(支持增加任意产品)

抽像工厂模式为创建一组相关或相互依赖的对象提供一个借口,无需指定它们的具体类。

建造者模式:将一个复杂的对象构建与其表示相分离,使得同样的构建过程可以创建不同的表示;

原型模式:原型模式是创建型模式的一种,其特点在于通过“复制”一个已经存在的实例来返回新的实例,而不是新建实例。

希望自己能坚持继续总结下去,给自己点鸡血。

一个人要像一支队伍,对着自己的头脑和心灵招兵买马,不气馁,有召唤,爱自由。
你之所以成为你,是因为你有你的司令员和政委、你的后勤部长,你是你自己的小兵,又是你自己的统帅。你要知道自己这支军队向何处去。在这支军队沮丧的时候给它打气。在军队迷路时做它永不失灵的GPS。在它忘乎所以的时候给它兜头一盆冷水。在这支军队重伤的时候,你要给它输血、包扎,给它以休养生息的机会,你要让它安然和健康。
你要知道什么对它是真正的好,并要不懈地坚持。
岁月不饶人,你,也不要轻易饶过岁月。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值