Manufacturing facility methodology is only a non-static methodology
Let’s face it, this sample is only a methodology often backed by easy protocols & lessons. Begin with a very easy instance: think about a category that may create a base URL on 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 may suppose, that hey, this isn’t even near a manufacturing facility methodology sample, however watch for it… let’s make issues somewhat bit difficult by making a protocol for the service class and a protocol for returning the URL as effectively. Now we will implement our base manufacturing URL protocol as a separate class and return that particular occasion from a manufacturing service manufacturing facility class. Simply examine the code you will 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 further you could possibly 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 could possibly add new varieties in a comparatively painless means with out altering the unique codebase. The manufacturing facility methodology solves one particular downside of a easy manufacturing facility sample. If the checklist – contained in the switch-case – turns into too lengthy, sustaining new objects shall be hell with only one manufacturing facility. Manufacturing facility methodology solves this by introducing a number of manufacturing facility objects.