转自
Swift设计模式原文
Design-Patterns-In-Swift// 工厂方法模式// 百度百科:是一种常用的对象创建型设计模式,此模式的核心精神是封装类中不变的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的目的。它的核心结构有四个角色,分别是抽象工厂;具体工厂;抽象产品;具体产品// 设计模式分类:创建型模式/** * 抽象产品(货币) */protocol Currency { func symbol() -> String func code() -> String}/// 具体产品(欧元)class Euro : Currency { func symbol() -> String { return "€" } func code() -> String { return "EUR" }}/// 具体产品(美元)class UnitedStatesDolar : Currency { func symbol() -> String { return "$" } func code() -> String { return "USD" }}/** 国家 - UnitedStates: 美国 - Spain: 西班牙 - UK: 英国 - Greece: 希腊 */enum Country { case UnitedStates,Spain,UK,Greece}/** 具体工厂 */enum CurrencyFactory { static func currencyForCountry(country:Country) -> Currency? { switch country { case .Spain,.Greece : return Euro() case .UnitedStates : return UnitedStatesDolar() default: return nil } }}let noCurrencyCode = "No Currency Code Available"CurrencyFactory.currencyForCountry(.Greece)?.code() ?? noCurrencyCodeCurrencyFactory.currencyForCountry(.Spain)?.code() ?? noCurrencyCodeCurrencyFactory.currencyForCountry(.UnitedStates)?.code() ?? noCurrencyCodeCurrencyFactory.currencyForCountry(.UK)?.code() ?? noCurrencyCode总结
以上是内存溢出为你收集整理的Swift设计模式之工厂方法模式全部内容,希望文章能够帮你解决Swift设计模式之工厂方法模式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)