클린 아키텍처에서 인용

  • 엉클 밥은 다음과 같인 SOLID 원칙의 기원을 말한다.1

SOLID 원칙의 역사는 깊다. 나는 1980년대 후반 유즈넷(과거 버전의 페이스북)에서 다른 사람들과 소프트웨어 설계 원칙에 대해 토론하는 과정에서 이들 원칙을 모으기 시작했다. 시간이 지나면서 원칙은 교체되거나 변경되었다. 사라져 버린 원칙도 있다. 어떤 원칙들은 서로 합쳐졌다. 새롭게 추가된 원칙도 있다. 2000년대 초반 나는 안정화된 최종 버전을 내놓았는데, 이 때 원칙들의 순서는 지금과 달랐다.

2004년 무렵, 마이클 페더스(Michael Feathers)가 이메일 한 통을 보내왔는데, 원칙들을 재배열하면 각 원칙의 첫 번째 글자들로 SOLID라는 단어를 만들 수 있다는 내용이었다. 그렇게 SOLID 원칙이 탄생했다.

SOLID

SOLID는 다섯 개의 원칙으로 이루어져 있다.

  • SRP: Single Responsibility Principle. 단일 책임 원칙.
  • OCP: Open-Closed Principle. 개방-폐쇄 원칙
  • LSP: Liskov Substitution Principle. 리스코프 치환 원칙.
  • ISP: Interface Segregation Principle. 인터페이스 분리 원칙.
  • DIP: Dependency Inversion Principle. 의존성 역전 원칙.

참고문헌

  • 클린 아키텍처 / 로버트 C. 마틴 저/송준이 역 / 인사이트(insight) / 초판 1쇄 2019년 08월 20일 / 원제 : Clean Architecture: A Craftsman’s Guide to Software Structure and Design

주석

  1. 클린 아키텍처 3부 설계 원칙, 63쪽.