原型模式-Swift

作者: 夜半敲门话不语 | 来源:发表于2017-03-14 11:07 被阅读6次

Prototype

原型模式是通过现有对象的所有属性来复制自身,创建一个新的对象。当类的实例间差异仅是属性值的不同时,这种做法将比手工实例化更加方便。

Prototype.png

Example

protocol ProtoType {
    func clone() -> Self;
}

class ConcretePrototype: ProtoType {

    var value: Float?
    let currency: String
    
    
    required init(currency: String) {
        self.currency = currency
    }
    
    internal func clone() -> Self{
        return type(of: self).init(currency: self.currency)
    }

}

Usage

let prototype = ConcretePrototype(currency: "RMB")

let RMB50 = prototype.clone()
RMB50.value = 50
let RMB100 = prototype.clone()
RMB100.value = 100

相关文章

  • Design Patterns Talk - Prototype

    《大话设计模式》第 9 章 - 原型模式 的 Swift 实现。 问题 复制简历并修改其中的某些条目。 方案 原型...

  • Swift原型设计模式

    啥叫原型模式? 创建一个新的对象,然后通过复制现有的对象,称为原型。原型本身使用模板创建,后续实例是克隆模板产生的...

  • 原型模式-Swift

    Prototype 原型模式是通过现有对象的所有属性来复制自身,创建一个新的对象。当类的实例间差异仅是属性值的不同...

  • swift设计模式-原型模式

    原型模式的本质,就是方便对一个对象继承的同时多态化处理

  • Swift-原型模式

    原型模式属于对象的创建模式,通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多...

  • 第3章 创建型模式-原型模式

    一、原型模式简介 二、原型模式的优点 ■ 三、原型模式的使用场景 ■ 四、原型模式的实例

  • 设计模式之原型模式(Prototype 模式)

    引入原型模式 原型模式的实例 为什么需要使用原型模式 引入原型模式 如果读者很熟悉javascript的话,对原型...

  • 初始设计模式之原型模式

    原型模式是什么? 原型模式怎么用?浅拷贝深拷贝 原型模式再理解 一、原型模式是什么? ​ 原型模式是一种创建型设计...

  • 设计模式之原型模式(创建型)

    [TOC] 模式定义 原型模式(Prototype Pattern):原型模式是提供一个原型接口,提供原型的克隆,...

  • 原型模式C++

    原型模式,用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 原型模式结构图 原型模式基本代码 原型...

网友评论

    本文标题:原型模式-Swift

    本文链接:https://www.haomeiwen.com/subject/mkicnttx.html