SOLID 원칙이란?
SOLID 원칙은 깔끔한 코드(clean code)와 좋은 아키텍처를 정의한 원칙이다. SOLID 원칙은 함수와 데이터 구조를 클래스로 배치하는 방법, 그리고 이들 클래스를 서로 결합하는 방법을 설명해 준다. 여기서 말하는 클래스는 함수와 데이터의 집합을 말한다. (클래스라는 말이 나온다 해서 OOP에만 적용된다는 뜻은 아니다.)
또한 SOLID 원칙은 중간 수준의 소프트웨어 구조가 아래와 같도록 만드는 데 있다.
- 변경에 유연해야 한다.
- 이해하기 쉽다.
- 많은 소프트웨어 시스템에 사용될 수 있는 컴포넌트의 기반이 된다,.
SOLID 원칙
- SRP: 단일 책임 원칙 (Single Responsibility Principle) :
- 콘웨어(Conway) 법칙에 따른 따름정리로 각 소프트웨어 모듈은 변경의 이유가 하나, 단 하나여야만 한다. - OCP: 개방-폐쇄 원칙 (Open-Closed Principle) :
- 1980년 버트란트 마이어에 의해 유명해진 원칙
- 기존 코드를 수정하기 보다는 반드시 새로운 코드를 추가하는 방식으로 시스템의 행위를 변경할 수 있도록 설계해 쉽게 변경할 수 있는 소프트웨어 시스템이 된다. - LSP: 리스코프 치환 원칙 (Liskov Substitution Principle) :
- 1988년 바바라 리스코프가 정의.
- 하위 타입에 관한 원칙으로 상호 대체 가능한 구성요소를 이용해 시스템을 만들 수 있으려면 이들 구성요소는 반드시 서로 치환 가능해야 한다. - ISP: 인터페이스 분리 원칙 (Interface Segregation Principle) :
- 소프트웨어 설계자는 사용하지 않은 것에 의존하지 않아야 한다. - DIP: 의존성 역전 원칙 (Dependency Inversion Principle) :
- 고수준 정책을 구현하는 코드는 저수준 세부사항을 구현하는 코드에 절대로 의전하지 않아야 한다.
- 세부사항이 정책에 의존해야한다.
'클린 아키텍처' 카테고리의 다른 글
[개발 서적] 클린 아키텍처 08 - OCP: 개방-폐쇄 원칙 (0) | 2025.01.02 |
---|---|
[개발서적] 클린 아키텍처 07 - SRP : 단일 책임 원칙 (Single Responsibility principle) (1) | 2024.12.24 |
[개발서적] 클린 아키텍처 06 - 함수형 프로그래밍 (0) | 2024.12.18 |
[개발서적] 클린 아키텍처 05 - 객체 지향 프로그래밍 (Object-Orented) (1) | 2024.12.13 |
[개발서적] 클린 아키텍처 04 - 구조적 프로그래밍 (0) | 2024.12.12 |