Swift设计模式之抽象工厂模式
来源:互联网 发布:c语言算法是什么意思 编辑:程序博客网 时间:2024/06/08 14:06
转自
- Swift设计模式
原文
- Design-Patterns-In-Swift
// 抽象工厂模式// 百度百科:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类// 设计模式分类:创建型模式import Foundation/** * 抽象工厂 */protocol Decimal { func stringValue() -> String // 工厂方法 static func make(string : String) -> Decimal}typealias NumberFactory = (String) -> Decimal// Number implementations with factory methods/** * 具体工厂 */struct NextStepNumber : Decimal { private var nextStepNumber : NSNumber func stringValue() -> String { return nextStepNumber.stringValue } // 工厂方法 static func make(string : String) -> Decimal { return NextStepNumber(nextStepNumber:NSNumber(longLong:(string as NSString).longLongValue)) }}/** * 具体工厂 */struct SwiftNumber : Decimal { private var swiftInt : Int func stringValue() -> String { return "\(swiftInt)" } // 工厂方法 static func make(string : String) -> Decimal { return SwiftNumber(swiftInt:(string as NSString).integerValue) }}enum NumberType { case NextStep, Swift}enum NumberHelper { static func factoryFor(type : NumberType) -> NumberFactory { switch type { case .NextStep: return NextStepNumber.make case .Swift: return SwiftNumber.make } }}let factoryOne = NumberHelper.factoryFor(.NextStep)let numberOne = factoryOne("1")numberOne.stringValue()let factoryTwo = NumberHelper.factoryFor(.Swift)let numberTwo = factoryTwo("2")numberTwo.stringValue()
0 0
- Swift设计模式之抽象工厂模式
- 设计模式之抽象工厂
- 设计模式 之 抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之-抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式 之 抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 设计模式之抽象工厂
- 文章标题
- HDU 2516-取石子游戏(斐波那契博弈)
- 百度地图 科大讯飞 环信使用
- VB 结构体
- iOS网络请求动画
- Swift设计模式之抽象工厂模式
- 实现碰撞ViewGroup,任何其中的子view都可以实现碰撞移动
- 最小二乘法在机器学习中的应用
- ArrayList和LinkedList的区别
- Swift设计模式之策略模式
- XCode编译器介绍
- unity里面动态的替换shader
- 目标赋予生命的意义和目的
- Recycleview实现顶部添加headerview