‘클린 아키텍처’ 기술 서적에 대해 학습했던 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆♂️ 테스트는 시스템의 일부이며, 아키텍처에도 관여한다. 시스템 컴포넌트인 테스트 TDD로 생성한 아주 작은 테스트든, 대규모의 FitNesse, Cucumber 테스트든 이들 테스트는 아키텍처 관점에서 모두 동등하다. 테스트...
[클린아키텍처] 27장 '크고 작은 모든' 서비스들
‘클린 아키텍처’ 기술 서적에 대해 학습했던 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆♂️ 서비스 아키텍처? 먼저 서비스를 사용한다는 것은 본질적으로 아키텍처에 해당하지 않는다. 시스템 아키텍처는 의존성 규칙을 준수하며 고수준의 정책을 저수준의 세부사항으로부터 분리하는 경계에 의해 정의된다. ...
[클린아키텍처] 26장 메인컴포넌트
‘클린 아키텍처’ 기술 서적에 대해 학습했던 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆♂️ 모든 시스템엔 컴포넌트들을 생성, 조정, 관리하는 최소 하나의 컴포넌트가 존재해야 한다. 이를 메인(Main)이라 부른다. 궁극적인 세부사항 메인 컴포넌트는 궁극적인 세부사항으로 가장 낮은 수준의 정책임. 시...
[클린아키텍처] 25장 계층과 경계
‘클린 아키텍처’ 기술 서적에 대해 학습했던 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆♂️ 시스템은 보통 세 가지 컴포넌트(UI, 업무 규칙, 데이텅베이스)로만 구성된다 생각하기 쉽지만, 하지만 대다수 시스템은 이보다 훨씬 많다. 움퍼스 사냥 게임 위 이미지처럼 소스 코드 의존성을 관리하면, UI 컴포넌트가 ...
[클린아키텍처] 24장 부분적 경계
‘클린 아키텍처’ 기술 서적에 대해 학습했던 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆♂️ 아키텍처 경계를 완벽하게 만드는데는 비용이 많이 든다. 쌍방향(ex. InputBoundary와 OutputBoundary)의 다형적 Boundary 인터페이스, Input 과 Output 을 위한 데이터 구조를 만들어야할 뿐만 ...
[클린아키텍처] 23장 프레젠터와 험블 객체
‘클린 아키텍처’ 기술 서적에 대해 학습했던 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆♂️ 프레젠터는 험블 객체(Humble Object) 패턴을 따른 형태로, 아키텍처 경계를 식별하고 보호하는데 도움이된다. 험블 객체 패턴 디자인 패턴으로, 테스트하기 어려운 행위와 쉬운 행위를 단위 테스트 작성자가 분리하기 쉽게...
[클린아키텍처] 22장 클린아키텍처
‘클린 아키텍처’ 기술 서적에 대해 학습했던 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆♂️ 지난 수십년간 시스템 아키텍처와 관련된 여러 가지 아이디어를 봐왔다. 육각형 아키텍처(Hexagonal Architecture): 포트와 어댑터라고도 알려졌으며, 앨리스터 코오번이 개발했다. DCI(Da...
[클린아키텍처] 21장 소리치는아키텍처
‘클린 아키텍처’ 기술 서적에 대해 학습했던 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆♂️ 아키텍처의 테마 주택이나 도서관의 계획서가 해당 건축물의 유스케이스에 대해 소리치는 것처럼, 소프트웨어 애플리케이션의 아키텍처도 애플리케이션의 유스케이스에 대해 소리쳐야 한다. 아키텍처를 프레임워크로부터 제공받아선 절대 안된다. ...
[클린아키텍처] 20장 업무 규칙
‘클린 아키텍처’ 기술 서적에 대해 학습했던 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆♂️ 업무 규칙은 컴퓨터상으로 구현했는지와 무관하게 사업적으로 수익을 얻거나 비용을 줄일 수 있는 규칙 또는 절차다. ex. 대출에 N% 이자를 부과한다는 사실은 은행이 돈을 버는 업무 규칙이다. 이러한 사실...
[클린아키텍처] 19장 수준
‘클린 아키텍처’ 기술 서적에 대해 학습했던 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆♂️ 소프트웨어 아키텍처를 개발하는 기술에는 정책을 신중하게 분리하고, 정책이 변경되는 야상에 따라 정책을 재편성하는 일도 포함된다. 동일한 이유로 동일한 시점에 변경되는 정책은 동일한 수준에 위치하며, 동일한 컴포넌트...