1. 정의
- 객체 지향 관점에서 자신의 Class안에 응집도를 높이고, 결합도를 낮추는 원칙
2. 설계원리
가. SRP - 단일 책임 원칙
- 시스템의 모든 객체는 하나의 책임만을 가지며, 객체가 제공하는 모든 서비스는 그 하나만의 책임만을 수행해야 한다는 설계 원칙 악취 (SRC 설계가 잘못된 규칙들) 원인
- 산탄총 수술, AOP
나. OCP - 개방 폐쇄 원칙
- 소프트웨어 Entity(classes, Modules, Function)는 확장에는 열려있고 수정에는 닫혀있어야 한다는 설계 원칙
다. LSP - 리스코프 치환 원칙
- 부모 클래스의 객체(타입과 매소드의 집합)들이 자식 클래스 사용되는 곳에 대체될 수 있어야 한다는 설계 원칙
- 기능의 명세(계약, 규약)에 대한 내용
라. ISP - 인터페이스 분리의 원칙
- 어떤 클래스가 다른 클래스에 종속될 때는 최소한의 인터페이스만을 사용해야 한다는 설계 원칙
- 클라이언트 자신이 이용하지 않는 기능에 영향을 받지 않아야 한다는 원칙
마. DIP - 의존 관계 역전의 원칙
- 하위 레벨 모듈 변경이 상위 레벨 모듈 변경과 무관하게 설계되어야 한다는 원칙
- 높은 레벨 모듈은 낮은 레벨 모듈을 의존하면 안되며 서로 추상에 의존해야 한다는 설계 원칙
- 추상을 매개로 메시지 주고받음, IOC, 훅 메소드, 확장성
'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글
프로토 타이핑 모델(SDLC 개발 모델) (0) | 2023.12.12 |
---|---|
폭포수 모델 (SDLC 개발 모델) (0) | 2023.12.12 |
객체지향 프로그래밍 (0) | 2023.12.12 |
소프트웨어 리팩토링 (0) | 2023.12.04 |
Lehman 소프트웨어 변화 (0) | 2023.12.04 |