"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

오늘이군

객체지향설계 5원칙 - DIP 본문

삶../프로그래밍

객체지향설계 5원칙 - DIP

오늘이군 2017. 5. 16. 17:55
반응형

※ 추천 글

https://www.youtube.com/watch?v=nrlHZBAXjv8&t=3894s 49분~

https://www.youtube.com/watch?v=AeyUpM3A2zo


1. DIP (Dependency Inversion Principle) : 의존 역전의 원칙

가. 설명

고차원모듈은 저차원모듈에 의존하면 안된다. 이 두 모듈 모두 다른 추상화된 것에 의존해야 한다

추상화된 것은 구체적인 것에 의존하면 안된다. 구체적인 것이 추상화 된 것에 의존 (의존의 역전)해야 한다.

자주 변경되는 구체(Concrete) 클래스에 의존하지 마라.

나. 적용 전 (겨울이 지나면? 눈이 안오면? 난감하다)

class 자동차 {

스노우타이어 st = new 스노우타이어();

}

자동차는 자신보다 변하기 쉬운 스노우타이어에 의존

다. 적용 후

class 자동차 {

타이어 t;

// 외부에서 주입

void setTire(Tire _t) {

this.t = _t;

}

}

자동차가 구체적인 타이어(스노우타이어, 일반타이어, 광폭타이어 등) 가 아닌 추상화 된 타이어 인터페이스에만 의존하게 함으로써

스노우타이어에서 일반타이어로 또는 다른 구체적인 타이어로 변경돼도 자동차는 영향을 받지 않는다.

반응형

'삶.. > 프로그래밍' 카테고리의 다른 글

스프링 삼각형 - IoC/DI  (0) 2017.05.16
디자인패턴 요약  (0) 2017.05.16
객체지향설계 5원칙 - ISP  (0) 2017.05.16
객체지향설계 5원칙 - LSP  (0) 2017.05.16
객체지향설계 5원칙 - OCP  (0) 2017.05.16

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Comments