由于本人现在所使用的语言主要是golang,所以后面的代码主要使用golang编写。语言实现应该不是障碍,主要是理解每种设计模式它的思想。
如果对象的创建成本比较大,而同一个类的不同对象之间差别不大(大部分字段都相同),在这种情况下,我们可以利用对已有对象(原型)进行复制(或者叫拷贝)的方式来创建新对象,以达到节省创建时间的目的。这种基于原型来创建对象的方式就叫作原型设计模式(Prototype Design Pattern),简称原型模式。
但在该对象外部复制对象会存在以下几个问题:
- 对象字段过多,复制过于复杂
- 对象有私有变量外部不可见
- 对象发生变化时,外部的复制函数也需要变化
Prototype模式:用原型实例指定创建对象的种类,并通过拷贝这些原型,创建新的对象。原理是原型类对象提供一个拷贝自己的方法,要发起创建的对象调用该原型类的方法实现创建。文章来源:https://www.toymoban.com/news/detail-740044.html
文章来源地址https://www.toymoban.com/news/detail-740044.html
到了这里,关于【设计模式】第6节:创建型模式之“原型模式”的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!