一. 定义
用原型实例对象指定创建对象种类,并通过拷贝这些原型对象创建新的对象(根据原型对象,克隆一个新的对象)
二. 应用场景
场景一:当我们编写组件需要创建新的实例对象, 但是又不想依赖于初始化操作(不依赖于构器,构造方法),便可以采用原型模式。
场景二:如果我们初始化过程中需要耗费非常大资源(数据资源,硬件资源),便可以采用原型模式。(数据资源:构造方法需要许多初始化参数)
三. 角色划分
角色一:克隆接口

角色二:具体的实现(存储一些数据或者一些行为操作,方便扩展)



角色三:客户端(一些逻辑实现)

角色四:程序员使用原型模式

原型模式使用流程图

总结:原型模式就是为了在组件中克隆对象,是组件中的对象和外部的对象互不影响。
网友评论