JAVA实现原型模式

环境:

  邮件复制功能,邮件对象包含的内容较多(发送者、接收者、标题、内容、日期等),对于已经创建好的邮件对象,可以通过复制的方式创建一个新的邮件对象,如果需要改变某部分内容,无须修改原始的邮件对象,只需要修改复制后得到的邮件对象即可

问题:

  需要创建多个相同或者相似的对象且各对象之间是相互独立的,这个类结构复杂(如构造函数极复杂),使用New实例化对象耗时长,代价高

解决方案:

  通过复制现有的对象(自身)来创建新的对象(原型模式)

角色:

Prototype(抽象原型类):针对抽象原型类编程,用户可以根据需要选择具体的原型类,系统具有较好的扩展性,增加或者更换原型类都很方便

ConcretePrototype(具体原型类)

Client(客户类)

 

Prototype.java

java <wbr>原型模式

 

ConcretePrototypeA.java

java <wbr>原型模式

ConcretePrototypeB.java 比如这是带有邮件日期或邮件附件的邮件
java <wbr>原型模式

Client.java
java <wbr>原型模式

结果
java <wbr>原型模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值