原型模式 - 章节
概念
·避免昂贵的创建
·避免子类化
·通常不使用“new”
·经常使用接口
·通常使用注册表实现
·例子:
- java.lang.Object#clone()
设计
克隆/可克隆
避免关键字“新”
虽然是副本,但每个实例都是惟一的
昂贵的构造费用不由客户处理
仍然可以利用参数进行构造
浅拷贝VS深拷贝
示例:Object Clone
训练:创建原型模式
创建原型
演示浅拷贝
使用注册表创建
陷阱
·有时不清楚何时使用
·与其他模式搭配使用
- 注册表
·浅拷贝VS深拷贝
对比
原型
·轻重量建设
- 复制构造函数或克隆
·浅或深
·本身的副本
工厂
·灵活的对象
- 多个构造函数
·具体的实例
·刷新的实例
原型的总结
·保证独特的实例
·经常重构
·可以帮助解决性能问题
·不要总是去工厂