7/14/2017

SW 개발방법론 - 객체지향 설계 원칙

* 객체지향 설계 원칙
1. 객체지향(Object Oriented) 설계 원칙의 개요
  가. 재사용성을 극대화하는 객체지향 설계의 개념
    - 사물 또는 개념을 객체라는 단위로 표현하는 방법으로 객체간에 메시지를
      주고받는 형태로 시스템 구성
    - 코드를 좀더 유지보수하기 쉽고, 유연하고, 확장히기 쉽게 만들기 위한 설계
  나. 객체지향 설계의 특징
    - 생산성 : 재사용성, 유지보수성, 이식성을 통한 생산성 및 품질 향상
    - 모형의 적합성 : 현실 세계 및 인간의 사고 방식과 유사
    - 일관성, 추적성 : 전체 공정에서 각 단계간의 전환과 변경이 자연스럽고 신속

2. 객체지향 설계 원칙(SOLID)
구분내용
SRP- Single Responsibility Principle(단일책임의 원칙)
- 한개의 클래스는 한개의 책임만 담당해야 함(Loosely Coupling, Tight Cohesion)
OCP- Open-Closed Principle(개방-폐쇄의 원칙)
- 확장에는 열려있고, 변경에는 닫혀있어야 함
LSP- Liskov Substition Principle(리스코프 치환의 원칙)
- 수퍼클래스는 하위클래스(구상클래스)로 대체될 수 있음
ISP- Interface Segregation Principle(인터페이스 분리의 원칙)
- 하나의 모호한 인터페이스 보다, 다수의 구체적 인터페이스가 좋음
DIP- Dependency Inversion Principle(의존성 역전의 원칙)
- 추상화된 것에 의존하게 만들고, 구상클래스에 의존하도록 만들지 안도록 함
- 구체적인 것이 추상화된 것에 의존해야 함

  가. 단일책임의 원칙 : Single Responsibility Principle

  나. 개방폐쇄의 원칙 : Open-Closed Principle

  다. 리스코프 치환의 원칙 : Liskov Substitution Principle

  라. 인터페이스 분리의 원칙 : Interface Segregation Principle

  마. 의존성 역전의 원칙 : Dependency Inversion Principle




댓글 없음: