美文网首页
设计模式-装饰器

设计模式-装饰器

作者: Sweet丶 | 来源:发表于2020-10-18 22:54 被阅读0次

这里介绍一下设计模式中的装饰器模式在iOS中的实现。

一、用来做什么的?
装饰器模式[Decorator Pattern]适用于在不改变原来类的前提下,增加实现功能(不使用继承)。比如有一个Circle类有画圆的方法,现在要在画一个带边框颜色的圆。

二、代码上如何实现?

// 画圆
@objcMembers
class Circle: NSObject {
    func draw()  {
        print("画圆的操作完成!");
    }
}

@objcMembers
class Decorator: NSObject {
    var decoratedCircle : Circle?
    init(decoratedCircle : Circle?) {
        self.decoratedCircle = decoratedCircle
    }
    
    func draw() {
        decoratedCircle?.draw()
        
        addRedBorder()
    }
    
    func addRedBorder() {
        print("Border Color: Red")
    }
}

相关文章

网友评论

      本文标题:设计模式-装饰器

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