목록클린아키텍처 (2)
블로그명..?
SOLID 원칙 중에서 그 의미가 가장 잘 전달되지 못한 원칙은 바로 단일 책임 원칙이다. -> 모든 모듈이 단 하나의 일만 해야 한다는 의미가 아니다. 단 하나의 일만 해야 한다는 원칙은 따로 있다. 바로 함수는 반드시 하나의, 단 하나의 일만 해야 한다는 원칙이다. 이 원칙은 커다란 함수를 작은 함수들로 리팩토링 하는 더 저수준에서 사용된다. 이 원칙은 SOLID 원칙이 아니며, SRP도 아니다. SRP는 다음과 같이 기술되어 왔다. 단일 모듈은 변경의 이유가 하나, 오직 하나뿐이어야 한다. 소프트웨어 시스템은 사용자와 이해관계자를 만족시키기 위해 변경된다. SRP가 말하는 '변경의 이유'란 바로 이들 사용자와 이해관계자를 가리킨다. 이 원칙은 아래와 같이 바꿔 말할 수도 있다. 하나의 모듈은 하나의..
설계와 아키텍처의 차이점 설계 - 저수준의 구조와 결정사항을 의미하는 용어로 사용되어 진다. 아키텍처 - 고수준의 구조와 결정사항을 의미하는 용어로 사용되어 진다. 하지만 저수준과 고수준의 구조를 마땅히 구분할 만한 경계가 없다. 즉, 설계와 아키텍처 사이에는 아무런 차이가 없다. 소프트웨어 아키텍처의 목표 - 필요한 시스템을 만들고 유지보수하는 데 투입되는 인력을 최소화하는 데 있다. 시스템을 급하게 만들거나, 결과물의 총량을 순전히 프로그래머 수만으로 결정하거나, 코드와 설계의 구조를 깔끔하게 만들려는 생각을 전혀 하지 않으면, 파국으로 치닫는 이 비용 곡선에 올라타게 된다. '토끼와 거북이' "급할수록 돌아가라." 토끼와 거북이 우화는 지나친 과신이 가진 어리석음을 말해준다. 현대의 개발자는 "코드..