工厂模式是软件设计中应用非常多的一种模式,就不再赘述其原理和目的了!
//: Playground - noun: a place where people can play
import UIKit
protocol Shape{
func draw()
}
class Rectangle: Shape {
func draw() {
print("Inside Rectangle::draw() method.")
}
}
class Square: Shape {
func draw() {
print("Inside Square::draw() method.")
}
}
class Circle: Shape {
func draw() {
print("Inside Circle::draw() method.")
}
}
class ShapeFactory {
//use getShape method to get object of type shape
func getShape(shapeType:String)-> AnyObject?{
if shapeType.isEmpty {
return nil
}
switch shapeType{
case "Rectangle":
return Rectangle()
case "Square":
return Square()
case "CIRCLE":
return Circle()
default: break
}
return nil
}
}
var shapeFactory = ShapeFactory()
//get an object of Circle and call its draw method.
var shape1 = shapeFactory.getShape("Square") as! Square
//call draw method of Circle
shape1.draw()
原文链接: http://www.tutorialspoint.com/design_pattern/factory_pattern.htm