· 1 min learn
The manufacturing facility technique design sample is a devoted non-static technique for hiding the creation logic of an object. Let’s make it in Swift!
Manufacturing unit technique is only a non-static technique
Let’s face it, this sample is only a technique normally backed by easy protocols & lessons. Begin with a extremely easy instance: think about a category that may create a base URL in your service endpoint. Let’s name it service manufacturing facility. 😅
class ServiceFactory {
func createProductionUrl() -> URL {
return URL(string: "https://localhost/")!
}
}
let manufacturing facility = ServiceFactory()
manufacturing facility.createProductionUrl()
You would possibly suppose, that hey, this isn’t even near a manufacturing facility technique sample, however anticipate it… let’s make issues a bit of bit sophisticated by making a protocol for the service class and a protocol for returning the URL as nicely. Now we are able to implement our base manufacturing URL protocol as a separate class and return that particular occasion from a manufacturing service manufacturing facility class. Simply test the code you’ll get it:
protocol ServiceFactory {
func create() -> Service
}
protocol Service {
var url: URL { get }
}
class ProductionService: Service {
var url: URL { return URL(string: "https://localhost/")! }
}
class ProductionServiceFactory: ServiceFactory {
func create() -> Service {
return ProductionService()
}
}
let manufacturing facility = ProductionServiceFactory()
let request = manufacturing facility.create()
Why did we separated all of the logic into two lessons and protocols? Please consider me decoupling is an efficient factor. Any longer you can simply write a mocked service with a dummy URL to mess around with. Clearly that’d want an identical manufacturing facility class.
These mock situations would additionally implement the service protocols so you can add new varieties in a comparatively painless method with out altering the unique codebase. The manufacturing facility technique solves one particular drawback of a easy manufacturing facility sample. If the record – contained in the switch-case – turns into too lengthy, sustaining new objects shall be hell with only one manufacturing facility. Manufacturing unit technique solves this by introducing a number of manufacturing facility objects.
Associated posts
· 2 min learn
Study concerning the initialization means of the 2 well-known lessons in UIKit. Say hi there to UIViewcontroller, and UIView init patterns.
· 4 min learn
Study the iterator design sample by utilizing some customized sequences, conforming to the IteratorProtocol from the Swift commonplace library.
· 4 min learn
Learn to use lazy properties in Swift to enhance efficiency, keep away from optionals or simply to make the init course of extra clear.
· 1 min learn
Let’s mix manufacturing facility technique with easy manufacturing facility voilá: right here is the summary manufacturing facility design sample written in Swift language!