I assumed that I might be good to have a summarized comparability between all of the manufacturing unit patterns, so right here it’s every little thing that it’s best to learn about them. Developing them is comparatively simple, on this instance I will use some UIColor magic written within the Swift programming language to indicate you the fundamentals. 🧙♂️
Static manufacturing unit
- no separate manufacturing unit 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 unit
- one manufacturing unit class
- change case objects inside it
- encapsulates various code
- if listing is just too massive use manufacturing unit methodology as an alternative
class ColorFactory {
enum Type {
case major
case secondary
}
func create(_ type: Type) {
change type
case .major:
return .black
case .secondary:
return .white
}
}
let manufacturing unit = ColorFactory()
let major = manufacturing unit.create(.major)
let secondary = manufacturing unit.create(.secondary)
Manufacturing facility methodology
- a number of (decoupled) manufacturing unit lessons
- per-instance manufacturing unit methodology
- create a easy protocol for manufacturing unit
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 unit
- combines easy manufacturing unit with manufacturing unit methodology
- has a world 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 unit = AppColorFactory()
let primaryColor = manufacturing unit.create(.darkish)
let secondaryColor = manufacturing unit.create(.mild)
So these are all of the manufacturing unit patterns utilizing sensible actual world examples written in Swift. I hope my collection of articles will provide help to to achieve a greater understanding. 👍
