클린아키텍쳐 (4) 썸네일형 리스트형 [Clean Architecture] 컴포넌트 사이의 관계와 원칙(2) : SDP SDP(안정된 의존성 원칙)란? 안정성의 방향으로(더 안정된 쪽에) 의존하라 즉, 변경하기 어려운 모듈이 변경하기 쉽게 만들어진 모듈에 의존하지 않도록 만들어야한다. 그렇다면 안전성이란? 사전적으로는 ‘쉽게 움직이지 않는’으로 정의. 안정성은 변경을 위해 필요한 작업량과 관련된다. 안정성이 높으면 상당한 작업량이 필요함. (탁자를 뒤집는 것과 옆으로 세워진 동전을 넘어뜨리는 것을 생각해보자) 소프트웨어 관점에서의 안정성 컴포넌트 변경이 어려운 요인에는 크기, 복잡도, 간결함 등이 있음. 컴포넌트 변경이 어려운 가장 확실한 방법은 “수많은 컴포넌트가 해당 컴포넌트에 의존하게 만드는 것이다.” 안정적인 컴포넌트 - X는 안정된 컴포넌트. - 세 컴포넌트가 x에 의존함에 따라 X컴포넌트는 변경하지 말아야할 이.. [Clean Architecture]SOLID 원칙 : 2.OCP 개방-폐쇄 원칙 OCP란? 소프트웨어 개체(artifact)는 확장에는 열려 있어야 하고, 변경에는 닫혀 있어야 한다. 이 말을 다시 적으면 "소프트웨어 개체의 행위는 확장할 수 있어야 하지만, 이때 개체를 변경해서는 안 된다" 라는 뜻이다. 소프트웨어에서 기능을 추가하려고하는데 시스템을 엄청 많이... 수정해야한다면, 이는 엄청난 실패이다. 이러한 상황을 피할 수 있는 설계가 OCP원칙을 따른 설계라고 할 수 있을 것이다. OCP는 단순히 클래스와 모듈 수준을 넘어 아키텍쳐는 더 중요한 의미를 가진다. OCP의 목표 시스템을 확장하기 쉬운 동시에 변경으로 인해 시스템이 너무 많은 영향을 받지 않도록 하는데 있다. 사고 실험 이번 장에서는 사고실험 예시로 나온 클래스 설계 도면을 보면서 OCP를 이해해 보도록 하자. (.. [Clean Architecture]SOLID 원칙 : 1.SRP 단일 책임 원칙 SRP 란? SRP란, 하나의 모듈은오직 하나의 액터(actor)에 대해서만 책임져야 한다는 원칙이다. SRP는 SOLID 원칙 중에서 의미 전달이 어려운 원칙이다. 단일 책임의 원칙이라고 하여 하나의 모듈은 단하나의 일만 해야한다는 의미가 아님에 주의하자. (이는 함수는 반드시 하나의 일만 해야한다는 원칙이다. 이는 커다란 함수를 작은 함수들로 리펙터링하는 더 저수준에서 사용. SRP와 혼동하지 말자!) SRP 원칙에 대한 설명에서 Actor는 이해관계자들이라고 생각하면 된다. 예를 들면 평가 모듈은 오직 평가 담당자(actor)에 대해서만 책임져야한다.(한 액터에 의한 수정이 다른 액터를 위한 모듈에 영향이 주어서안됨!) 모듈이란 무슨 뜻인가? 모듈이란 내가 이해하기 쉬운 언어로 함수와 데이터 구조로.. [Clean Architecture]SOLID 원칙 개론 좋은 소프트웨어를 만들기 위해서는 좋은 벽돌로 좋은 아키텍쳐를 정의하는 원칙이 필요하다. Clean Architecture는 좋은 벽돌을 만들기 위해서 SOLID원칙을 제시하고있다. SOLID 원칙은 다음을 설명해준다 함수와 데이터의 집합을 클래스로 배치하는 방법. 이 클래스들을 서로 결합하는 방법. SOLID의 목적은 한 문장으로 표현하자면 중간 수준의 소프트웨어 구조가 변경에 유연하고, 이해하기 쉬우며, 많은 소프트웨어 시스템에 사용될 수 있는 컴포넌트의 기반이 되어야한다. **중간 순의 소프트웨어 구조? : 모듈과 컴포넌트 수준의 내부에서 사용되는 소프트웨어 구조. SOLID 원칙 (https://en.wikipedia.org/wiki/SOLID) SRP : 단일 책임 원칙 Single Respon.. 이전 1 다음