오늘이군
객체지향설계 5원칙 - DIP 본문
반응형
※ 추천 글
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