본문 바로가기
SW

클린 아키텍처:소프트웨어 구조와 설계의 원칙(Clean Architecture) - 3부 : 설계 원칙

by 라꾸스떼(YR) 2020. 2. 29.
반응형

좋은 소프트웨어 시스템은 깔끔한 코드로부터 시작한다. 좋은 벽돌로 좋은 아키텍처를 정의하는 원칙이 필요한데, 그게 바로 SOLID다.

SOLID 원칙은 함수와 데이터 구조를 클래스로 배치하는 방법, 그리고 이들 클래스를 서로 결합하는 방법을 설명해준다. 여기에서 클래스는 단순히 함수와 데이터를 결합한 집합을 가리킨다.

 

SOLID 원칙의 목적은 중간 수준의 소프트웨어 구조가 아래와 같도록 만드는 데 있다.

-변경에 유연하다.

-이해하기 쉽다.

-컴포넌트의 기반이 된다.

‘중간 수준’이라 함은 프로그래머가 이들 원칙을 모듈 수준에서 작업할 때 적용할 수 있다는 뜻이다.

 

-SRP:단일 책임 원칙 (Single Responsibility Principle)

각 소프트웨어 모듈은 변경의 이유가 단 하나여야만 한다.

 

-OCP:개방-폐쇄 원칙 (Open-Closed Principle)

기존 코드를 수정하기보다는 반드시 새로운 코드를 추가하는 방식으로 시스템의 행위를 변경할 수 있도록 설계해야만 소프트웨어 시스템을 쉽게 변경할 수 있다는 것이 이 원칙의 요지다.

 

-LSP:리스코프 치환 원칙 (Liskov Substitution Principle)

상호 대체 가능한 구성요소를 이용해 소프트웨어 시스템을 만들 수 있으려면, 이들 구성요소는 반드시 서로 치환 가능해야 한다

 

-ISP:이너페이스 분리 원칙 (Interface Segregation Principle)

사용하지 않은 것에 의존하지 않아야 한다.

 

-DIP:의존성 역전 원칙 (Dependency Inversion Principle)

고수준 정책을 구현하는 코드는 저수준 세부사항을 구현하는 코드에 절대로 의존해서는 안 된다.

반응형

댓글