TIL

클린 아키텍처 애매한 부분 정리해 드립니다.

https://youtu.be/g6Tg6_qpIVc

소프트웨어 아키텍처가 뭐죠?

보통 우리는 기능에 집중을 하지만 로버트 마틴은 구조를 더 중요시 한다.

구조가 잘 정리가 되어 있어야 기능을 더하거나 변경하기 용이하다.

좋은 아키텍처가 왜 중요한가요?

프로젝트 시작

코딩을 자세히 들여다보면 프로젝트를 시작할 때

실제로는 유지보수를 더 많이 한다.

이를 위해선 구조가 중요하다.

기능구조에 의지한다.

소프트웨어 아키텍처의 목표는 필요한 시스템을 만들고 유지보수하는 데 투입되는 인력을 최소화하는 것 (로버트 마틴)

좋은 아키텍처의 중요성 by 로버트 마틴

좋은 아키텍처를 구성하는 방법

좋은 아키텍처를 만드는 방법

아키텍처 패턴

레시피(패턴) 사용법

  1. 일단 레시피를 따라해 보기
  2. 원칙들을 학습하고 이해한 후에 다시 레시피대로 따라해 보기
  3. 각자의 프로젝트에 레시피를 적용해 보기
  4. 고민이 되는 지점들은 원칙에 맞게, 혹은 크게 벗어나지 않는 선에서 타협하며 적용해 보기

어떤 아키텍처를 써야 하나요?

후보 1. 계층형 아키텍처

도메인영속성

후보 2. 클린 아키텍처

도메인영속성

클린 아키텍처

바이블과 쿡북

클린 아키텍처 vs 핵사고날 아키텍처

잘 모르겠을 땐 핵사고날 아키텍처부터

아키텍처별 패키지/클래스 구조 비교

계층형 아키텍처

img.png

포트와 어댑터 (핵사고날)

img.png

클린 아키텍처는 애매하다

규칙이 너무 단순

클린 아키텍처, 이럴 땐 쓰지 말자

클린 아키텍처, 코드양과 패키지 수

내가 작업하는 부분에만 적용해도 되나요?

원칙을 모두 다 지켜야 하나요?