原型模式(Prototype Pattern)

简介: 原型模式(Prototype Pattern)是一种创建型设计模式,它可以通过复制已有对象来创建新对象,而无需通过实例化来创建。

原型模式(Prototype Pattern)是一种创建型设计模式,它可以通过复制已有对象来创建新对象,而无需通过实例化来创建。

原型模式通常包含两个角色:原型和客户端。原型是需要被复制的对象,它通常实现了一个克隆方法,用于复制自身。客户端负责创建原型对象,并调用其克隆方法来创建新对象。

以下是一个使用原型模式的示例代码:

python
Copy
import copy

class Prototype:
def init(self):
self._name = ""
self._type = ""

def clone(self):
    return copy.deepcopy(self)

def get_name(self):
    return self._name

def set_name(self, name):
    self._name = name

def get_type(self):
    return self._type

def set_type(self, type):
    self._type = type

class ConcretePrototype1(Prototype):
def init(self):
super().init()
self.set_type("Type1")

class ConcretePrototype2(Prototype):
def init(self):
super().init()
self.set_type("Type2")

prototype1 = ConcretePrototype1()
prototype1.set_name("Prototype1")

prototype2 = prototype1.clone()
prototype2.set_name("Prototype2")

print(prototype1.get_name(), prototype1.get_type()) # 输出 "Prototype1 Type1"
print(prototype2.get_name(), prototype2.get_type()) # 输出 "Prototype2 Type1"
在这个示例中,Prototype 是原型类,定义了 clone 方法和一些属性。ConcretePrototype1 和 ConcretePrototype2 是具体原型类,继承了 Prototype 并实现了其方法。

当客户端需要创建新对象时,它可以首先创建一个原型对象,并调用其 clone 方法来复制该对象。然后客户端可以修改新对象的属性,从而创建自己需要的对象。

要使用原型模式,首先需要确定需要创建的对象的类型和属性。然后实现一个原型类,并在其中定义一个克隆方法,用于复制自身。接着实现具体原型类,并继承原型类,实现原型类中的方法。最后客户端可以通过调用原型对象的克隆方法,

可以帮助您深入学习原型模式:

《Head First 设计模式》第 2 章:观察者模式。这本书是一本很好的学习设计模式的入门书籍,适合初学者阅读。

《设计模式:可复用面向对象软件的基础》。这是一本经典的设计模式书籍,其中详细介绍了原型模式以及其他 22 种设计模式。

《大话设计模式》第 6 章:原型模式。这本书通过生动的故事情节和通俗易懂的语言介绍了各种设计模式,适合初学者阅读。

设计模式视频教程。有很多优秀的设计模式视频教程,可以通过观看视频来更好地理解原型模式和其他设计模式。

GitHub 上的设计模式示例代码。可以通过查看其他开发者编写的示例代码来学习原型模式的具体实现方式。

目录
相关文章
|
11月前
|
设计模式
设计模式20 - 原型模式【Prototype Pattern】
设计模式20 - 原型模式【Prototype Pattern】
28 1
|
设计模式 缓存 Java
java设计模式-原型模式(PrototypePattern)
java设计模式-原型模式(PrototypePattern)
|
设计模式 存储 Java
详解Java设计模式之原型模式(Prototype Pattern)
详解Java设计模式之原型模式(Prototype Pattern)
304 0
详解Java设计模式之原型模式(Prototype Pattern)
|
安全 Java
创建型模式 - 原型模式(Prototype Pattern)
创建型模式 - 原型模式(Prototype Pattern)
|
设计模式 算法 程序员
创建型模式 - 建造者模式(Builder Pattern)
创建型模式 - 建造者模式(Builder Pattern)
|
设计模式 人工智能 安全
原型模式(Prototype Design Pattern)
原型模式是一种创建型设计模式, 使你能够复制已有对象, 而又无需使代码依赖它们所属的类。
100 0
原型模式(Prototype Design Pattern)
|
设计模式 C#
【愚公系列】2021年12月 二十三种设计模式(四)-原型模式(Prototype Pattern)
【愚公系列】2021年12月 二十三种设计模式(四)-原型模式(Prototype Pattern)
【愚公系列】2021年12月 二十三种设计模式(四)-原型模式(Prototype Pattern)
|
测试技术
原型模式(Prototype)
原型模式的结构 原型模式包含以下3个角色: •Prototype(抽象原型类) •ConcretePrototype(具体原型类) •Client(客户类) 浅克隆与深克隆 浅克隆(Shallow Clone):当原型对象被复制时,只复制它本身和其中包...
927 0