工厂设计模式

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的工厂设计模式

原文地址:https://www.cnblogs.com/ansyxpf/p/5669836.html