Change Logs #2592301
현재 버전
OCP , DIP 차이
안녕하세요 솔리드 공부를 하던 도중에 궁금한점이 생겨서 질문 드려봅니다.
OCP: 확장에는 열리고, 변화는 닫혀야한다.
DIP: 구체적인 것이 추상화된곳에 의존해야한다. 추상화된것이 구체적인 것에 의존하면 안된다.
예를들면 자동차,타이어가 있다고 가정하겠습니다.
OCP를 적용하면 자동차 -> 타이어(interface) ->일반타이어 -> 스노우타이어
이렇게 상위클래스나,인터페이스를 중간에 둠으로써 어떤 객체가 생기더라도 자동차에는 영향이 없는거라고 알고있습니다.
DIP를 적용하면 똑같이 추상화된 타이어(interface)를 두고 일반타이어 -> 스노우타이어 둠으로써
어떤 객체가 생기더라도 자동차에 영향이 없다.
이렇게 제가 이해한게 맞을까요??
그리고 2개 이론이 같다고 느껴지고 있습니다. 차이점이 있을까요??
수정 이력
2021-11-24 14:41:30
에 아래 내용에서 변경 됨
#1
안녕하세요 솔리드 공부를 하던 도중에 궁금한점이 생겨서 질문 드려봅니다.
OCP: 확장에는 열리고, 변화는 닫혀야한다.
DIP: 구체적인 것이 추상화된곳에 의존해야한다. 추상화된것이 구체적인 것에 의존하면 안된다.
예를들면 자동차,타이어가 있다고 가정하겠습니다.
OCP를 적용하면 자동차 -> 타이어(interface) ->일반타이어 -> 스노우타이어
이렇게 상위클래스나,인터페이스를 중간에 둠으로써 어떤 객체가 생기더라도 자동차에는 영향이 없는거라고 알고있습니다.
DIP를 적용하면 똑같이 추상화된 타이어(interface)를 두고 일반타이어 -> 스노우타이어 둠으로써
어떤 객체가 생기더라도 자동차에 영향이 없다.
이렇게 제가 이해한게 맞나요??
그리고 2개 이론이 같다고 느껴지고 있습니다. 차이점이 있을까요??