Skip to content

Instantly share code, notes, and snippets.

@kapilrathore
Last active March 7, 2018 07:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kapilrathore/64b22a8130f610396784baede9cbe5f8 to your computer and use it in GitHub Desktop.
Save kapilrathore/64b22a8130f610396784baede9cbe5f8 to your computer and use it in GitHub Desktop.
For medium article - SOLID Swift Using Protocols !!!
struct DataManager {
let dataLoader: DataDownloader
let dataParser: DataParser
let dbManager: DBManager
init(dataLoader: DataDownloader, dataParser: DataParser, dbManager: DBManager) {
self.dataLoader = dataLoader
self.dataParser = dataParser
self.dbManager = dbManager
}
func manage() {
let data = dataLoader.loadData()
let array = dataParser.parseData(data)
dbManager.saveData(array)
}
}
struct DataDownloader {
func loadData() -> Data { }
}
struct DataParser {
func parseData(_: Data) -> [String] { }
}
struct DBManager {
func saveData(_: [String]) { }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment