Git Hub
коротко

Dependency Injection

9 марта 2018, 10:21

Dependency Injection или DI.

Описание протокола и вариантов зависимости

protocol DependencyProtocol {
    func makeMoney() -> Float
}

class Alfa: DependencyProtocol {
     func makeMoney() -> Float {
         return 100;
     }
}

class Betta: DependencyProtocol {
     func makeMoney() -> Float {
         return 9000;
     }
}
class Wallet {
   var sourceMoney: DependencyProtocol
   
   init(source: DependencyProtocol) {
   sourceMoney = source
    }

    getMoney() -> Float {
     return sourceMoney.makeMoney()
    }
}

Использование

let myWallet = Wallet(source: Betta())
var myMoney = myWallet.getMoney()
Поделиться
Популярное