좋은 자료가 있어 공유해봅니다. 원문은 여기입니다.
PDF 자료에 있는 내용을 조금 정리해보면 다음과 같습니다.
SRP(Single Responsibility Principle) - 단일 책임 원칙
-클래스는 단 한가지의 변경 이유만을 가져야 한다.
DIP(Dependency Inversion Principle) - 의존관계 역전 원칙
- 상위 수준의 모듈은 하위 수준의 모듈에 의존해서는 안된다. 둘 모두 추상화에 의존해야 한다.
- 추상화는 구체적인 사항에 의존해서는 안된다. 구체적인 사항은 추상화에 의존해야 한다.
OCP(Open-Closed Principle) - 개방-폐쇄원칙
- 소프트웨어 개체(클래스, 모듈, 함수 등등)는 확장에 대해 열려 있어야 하고, 수정에 대해 닫혀 있어야 한다.
** DIP 와 관련되어 좋은 글이 있네요.
http://blog.naver.com/photonessay?Redirect=Log&logNo=40039686765
" 우리가 의존하면 안되는 것은 자주 변경되는 Concrete Class 이다 "
" 우리가 의존하면 안되는 것은 자주 변경되는 Concrete Class 이다 "
원문 일부 보기
--> 많은 생각을 하게 하는 원칙인것 같습니다. Concrete Class 위주로 개발하다보면 코드가 너무 이상해지고 나중엔 보기조차 싫어지는데, 좀더 이러한 원칙을 적용하며 개발해야 겠습니다.
** 블로그를 보다 보니 오늘의 주제와 관련된 좋은 글이 있어서 링크합니다.
** SRP 와 관련된 좋은 글
[객체지향 SW설계의 원칙] 2. 사례연구, 단일 책임 원칙
2005년 ZDNet 에 연재된 글로 매우 쉽게 SRP 에 대한 이야기를 풀어내고 있다.
Q디자인패턴_K_V05_20060214_Iterator-devlab.pdf
댓글을 달아 주세요