#######大话设计模式的例子都是用C#写的,对于熟悉其他语言的开发者来说,看起来可能不是那么的方便。为了加深理解,我在学习策略模式的时候顺便用OC和swift把书中的例子实现了,分享出来,希望对大家能有帮助。欢迎拍砖。。。。。。
swift代码:
Person类:
import UIKit
class PersonSwift: NSObject {
var name:NSString = ""
func show(){
print("show is---\(name).")
}
}
Finery装饰类:
import UIKit
class FinerySwift: PersonSwift {
var per:PersonSwift?
override func show() {
if(per != nil){
per?.show()
}
}
}
TShirts具体的衣服类:
import UIKit
class TShirtsSwift: FinerySwift {
override func show() {
print("big TShirts")
super.show()
}
}
实现:
import UIKit
class ViewController: UIViewController {
var per:PersonSwift = PersonSwift()
var ts:TShirtsSwift = TShirtsSwift()
override func viewDidLoad() {
super.viewDidLoad()
per.name = "xiao cai"
ts.per = per
ts.show()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
OC比较好实现就不写在这了,有需要可以去github上下载:https://github.com/Joanwq/Design-pattern 下载