设计模式-装饰器

2020-10-18  本文已影响0人  Sweet丶

这里介绍一下设计模式中的装饰器模式在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")
    }
}
上一篇 下一篇

猜你喜欢

热点阅读