I believed that I might be good to have a summarized comparability between all of the manufacturing facility patterns, so right here it’s every thing that you must learn about them. Setting up them is comparatively simple, on this instance I’ll use some UIColor
magic written within the Swift programming language to indicate you the fundamentals. 🧙♂️
Static manufacturing facility
- no separate manufacturing facility class
- named static methodology to initialize objects
- can have cache & can return subtypes
extension UIColor {
static var major: UIColor { return .black }
static var secondary: UIColor { return .white }
}
let major = UIColor.major
let secondary = UIColor.secondary
Easy manufacturing facility
- one manufacturing facility class
- change case objects inside it
- encapsulates various code
- if checklist is just too massive use manufacturing facility methodology as an alternative
class ColorFactory {
enum Type {
case major
case secondary
}
func create(_ model: Type) {
change model
case .major:
return .black
case .secondary:
return .white
}
}
let manufacturing facility = ColorFactory()
let major = manufacturing facility.create(.major)
let secondary = manufacturing facility.create(.secondary)
Manufacturing facility methodology
- a number of (decoupled) manufacturing facility courses
- per-instance manufacturing facility methodology
- create a easy protocol for manufacturing facility
protocol ColorFactory {
func create() -> UIColor
}
class PrimaryColorFactory: ColorFactory {
func create() -> UIColor {
return .black
}
}
class SecondaryColorFactory: ColorFactory {
func create() -> UIColor {
return .white
}
}
let primaryColorFactory = PrimaryColorFactory()
let secondaryColorFactory = SecondaryColorFactory()
let major = primaryColorFactory.create()
let secondary = secondaryColorFactory.create()
Summary manufacturing facility
- combines easy manufacturing facility with manufacturing facility methodology
- has a worldwide impact on the entire app
protocol ColorFactory {
func create() -> UIColor
}
class PrimaryColorFactory: ColorFactory {
func create() -> UIColor {
return .black
}
}
class SecondaryColorFactory: ColorFactory {
func create() -> UIColor {
return .white
}
}
class AppColorFactory: ColorFactory {
enum Theme {
case darkish
case mild
}
func create(_ theme: Theme) -> UIColor {
change theme {
case .darkish:
return PrimaryColorFactory().create()
case .mild:
return SecondaryColorFactory().create()
}
}
}
let manufacturing facility = AppColorFactory()
let primaryColor = manufacturing facility.create(.darkish)
let secondaryColor = manufacturing facility.create(.mild)
So these are all of the manufacturing facility patterns utilizing sensible actual world examples written in Swift. I hope my sequence of articles will make it easier to to realize a greater understanding. 👍