Java设计模式之原型模式
回顾
Java设计模式系列的上一期写了工厂模式,那么创建类的设计模式还有生成器模式和原型模式两种了,这一期我们主要聊聊原型模式。
原型模式
简介
通过对应的原型实例对象为模板,来创建属性一致的实例对象。
解决的问题
如果需要创建的实例对象特别复杂,那么创建的代码就需要重复(那么有人说可以通过工厂模式来解决),但是如果想要跟模板实例对象相同的属性值,就需要不停的传入各种属性之来完成实例对象的最终生成。所以这个时候原型模式就诞生了。
模式核心
简单原型模式——UML图
![]()
管理器原型模式——UML图
![]()
可以看出原型模式的核心是clone()方法,这个方法有一个需要注意的地方(深clone、浅clone)
![]()
实例
因为简单原型模式跟管理器原型模式的差别只有管理器的区别,那么就只贴出管理器的部分代码就可以了,如果需要简单原型模式代码的话可以私聊我。
![]()
总结
- 通过原型模式可以快速生成一个和模板实例对象一样的对象(属性一致)。
- 原型模式可以让客户端使用稳定接口获取实例对象,在目标类有比较大变化的情况下保持调用方式不变。
网友评论