KnP House for Daily

디자인패턴 - 5가지 법칙 본문

Programming/Design Pattern

디자인패턴 - 5가지 법칙

K.ung 2014.12.29 10:26

1.     SRP(단일 책임의 원칙)

-       기본 개념 : 동일한 이유로 변경 되는 것은 한 곳에 모으고 서로 다른 이유로 변경되는 것은 분리 시킨다.

-       하나의 책임만 지녀야 한다.

-       높은 응집도

-       사고(presentation) 표현(logic), 관심(view) 의 분리

-       전략 패턴에 응용됌


2.     OCP(개방 폐쇄의 법칙)

-       기본 개념 : 특정 클래스는 그 클래스를 수정 하지 않으면서 확장이 가능해야 한다.

-       방법 : 상속을 통한 구현 / 조립을 통한 구현


3.     LSP(리스코프 치환의 법칙)

-       기본 개념 : 자식 클래스는 부모클래스가 사용되는 곳에 대체되어 사용돼야 한다.

-       파생클래스는 확장이 목적이지 추가가 아니다.

 

4.     ISP(인터페이스 분리 법칙)

-       기본법칙 : 인터페이스를 기능으로 분리한다.

-       클라이언트는 자신이 사용하지 않는 메소드에 의존 관계를 맺어선 안됌

-       여러 개의 구체적 인터페이스 설계

-       서로 다른 성격의 인터페이스 분리

-       두개 이상의 인터페이스가 공유하는 부분의 재사용성 극대화

-       클래스가 비대해 지면서 가독성, 높은 결합도에 의한 수정의 어려움을 예방 할 수있음

-       시스템 확장시 필요기능에 대한 변경,확장만으로 변화를 국한 시킬 수 있다.

 

5.     DIP(의존 역전의 법칙)

-       기본 개념 : 상위 클래스는 하위 레벨들에 의해 의지되어져선 안된다. 모든 것들은 추상화해야 한다.

-       Interface를 이용하여 추상화된 공통의 것을 뽑아 하위 모듈과의 의존성을 낮춘다.

-       팩토리 패턴으로 응용됌

-       LSP를 지켜야 한다.

 

저작자 표시 비영리 변경 금지
신고

'Programming > Design Pattern' 카테고리의 다른 글

디자인패턴 - 5가지 법칙  (0) 2014.12.29
DI – 의존성 주입 (Dependency Injection)  (0) 2014.12.29
0 Comments
댓글쓰기 폼