工厂设计模式
import UIKit
/*
工厂设计模式 是由父类定义协议(接口),由子类去实现
*/
/*
煎饼果子,需要 有饼,果子,鸡蛋
*/
class CZFactory{
// Button -> image,title,字体
class func getButton(image: String,title: String,size: CGFloat) -> UIButton {
let button = UIButton(type: UIButtonType.Custom)
button.setImage(UIImage(named: image), forState: UIControlState.Normal)
button.setTitle(title, forState: UIControlState.Normal)
button.titleLabel?.font = UIFont.systemFontOfSize(size)
return button
}
}
然后在需要使用这个button的地方调用CZFactory即可:
// 工厂设计模式调用
let button = CZFactory.getButton("aa", title: "aa", size: 13)
在这个例子当中, class func getButton(image: String,title: String,size: CGFloat)可以理解为一个协议,然后Button理解 为子类去实现CZFactory的工厂设计模式