Swift设计模式之策略模式

来源:互联网 发布:c语言算法是什么意思 编辑:程序博客网 时间:2024/06/07 11:28

转自

  • Swift设计模式

原文

  • Design-Patterns-In-Swift
// 策略模式// 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化// 设计模式分类:行为型模式/** *  打印策略接口 */protocol PrintStrategy {    func printString(string: String) -> String}/// 打印机类class Printer {    let strategy: PrintStrategy    func printString(string: String) -> String {        return self.strategy.printString(string)    }    init(strategy: PrintStrategy) {        self.strategy = strategy    }}/// 大写打印策略class UpperCaseStrategy : PrintStrategy {    func printString(string:String) -> String {        return string.uppercaseString    }}/// 小写打印策略class LowerCaseStrategy : PrintStrategy {    func printString(string:String) -> String {        return string.lowercaseString    }}var lower = Printer(strategy:LowerCaseStrategy())lower.printString("O tempora, o mores!")var upper = Printer(strategy:UpperCaseStrategy())upper.printString("O tempora, o mores!")
0 0
原创粉丝点击