JAVA实现原型模式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yiqin3399/article/details/79822374

环境:

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

问题:

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

解决方案:

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

角色:

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

ConcretePrototype(具体原型类)

Client(客户类)

 

Prototype.java

java <wbr>原型模式

 

ConcretePrototypeA.java

java <wbr>原型模式

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

Client.java
java <wbr>原型模式

结果
java <wbr>原型模式

猜你喜欢

转载自blog.csdn.net/yiqin3399/article/details/79822374
今日推荐