原型模式(Prototype Pattern)用于创建重复的对象,这种类型的设计模式属于创建型模式,与工厂模式类似,不同在于工厂模式通过new的方式创建对象,而原型模式通过复制既有对象的方式创建对象。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。使用原型模式有几点注意事项:
- 类本身或其父类必须实现
Cloneable
接口,并用public
的clone()
方法覆盖Object
的同名方法; - 根据实际情况判断是”浅复制“还是”深复制“,若深复制用序列化方式实现,则类本身或其父类须实现
Serializable
接口; - 实际开发过程中注意业务逻辑,比如id等成员要保证不重复。
|
|