大前端
Prototype(原型模式)
Prototype(原型模式)属于创建型模式,既不是工厂也不是直接 New,而是以拷贝的方式创建对象。 **意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。** # 举例子 如果看不懂上面的意图介绍,可以参考以下案例: ## 代码例子 下面例子使用 typescript 编写。 我们可以看到,实现了 Prototype 接口的 Component 必须实现 clone 方法,这样任意组件在执行复制时,就可以直接调用 clone 函数,而不用关心每个组件不同的实现方式了。 从这就能看出,原型模式与 Factory 与 Builder 模式还是有类似之处的,在隐藏创建对象细节这一点上。 使用的时候,我们就可以这样创建一个新对象: ```typescript // 创建一个新的组件实例 const newComponent = targetComponent.clone(); 这里有两个注意点:一般来说,如果要二次修改生成的对象,不建议给 clone 函数加参数,