Delegation Pattern

Martin Kim·2021년 7월 27일
0

디자인패턴

목록 보기
1/6

Delegation Pattern

  • 위임 패턴은 한 객체의 동작을 다른 객체로 위임(떠넘기기)하는 패턴이다.
  • 위임 패턴을 사용하면 한 객체의 변경이 다른 객체에 미치는 영향이 적어진다.
  • 다른 클래스의 기능을 사용하되 그 기능을 변경하지 않으려면 상속 대신 위임패턴을 사용한다. 상속은 그 기능을 확장한다.
class Vehicle { // "delegator" 위탁자 (떠넘기는 사람, 갑)
    var wheel: Wheel = Wheel()
    func drive(wheel: wheel) {
        wheel.rollOver()
    }
}

class Wheel { // "delegate" 수탁자 (위임 받은 사람, 실무수행자, 을)
    func rollOver() {
        print("이 바퀴를 굴린다")
    }
}
  • 위 예시에서 Vehicle 클래스는 drive 메서드의 동작을 Wheel 클래스로 위임하고 있다.

출처: 제타위키 https://zetawiki.com/wiki/%EC%9C%84%EC%9E%84_%ED%8C%A8%ED%84%B4, 예시는 직접 작성

profile
학생입니다

0개의 댓글