[swift] 36. 의존성 주입(DI)

RudinP·2023년 10월 5일
0

Study

목록 보기
54/227

의존성 주입

  • 멤버변수로 프로토콜을 가짐
    • 해당 프로토콜을 준수하는 객체를 주입 가능
    • ~provider 라고 이름을 짓는게 대부분

예시

protocol Talking{
	var saying : String{ get set }
    func sayHi()
}

class BestTalk: Talking{
	var saying: String = "베스트 토크"
    func sayHi(){
    	print("허허 잘지냈어??")
    }
}

class OldTalk: Talking{
	var saying: String = "올드 토크"
    func sayHi(){
    	print("오랜만이야")
    }
}
class Friend{
	var talkProvider: Talking
    
    var saying: String{
    	get{
        	talkProvider.saying
        }
    }
    
    init(_ talkProvider : Talking){
    	self.talkProvider = talkProvider
    }
    
    func sayHi(){
    	talkProvider.sayHi()
    }
}
profile
곰을 좋아합니다. <a href = "https://github.com/RudinP">github</a>

0개의 댓글