CHAPTER 18 반응형 아키텍처와 어니언 아키텍처

4 min read

CHAPTER 18 반응형 아키텍처와 어니언 아키텍처

반응형 아키텍처(reactive architecture)는 순차적인 액션을 표현하는 방식을 뒤집습니다 어니언 아키텍처(onion architecture)는 함수형 프로그래밍으로 현실 세계를 다루기 위한 고수준의 개념입니다

두 아키텍처 패턴은 독립적입니다

  • 반응형 아키텍처
    • 코드에 나타난 순차적 액션의 순서를 뒤집는다
    • 효과(effect)와 원인(cause)을 분리한다
  • 어니언 아키텍처
    • 웹 서비스나 온도 조절 장치 같은 현실 세계와 상호작용하기 위한 서비스 구조를 만든다

반응형 아키텍처는 무엇인가요?

  • 애플리케이션을 구조화하는 방법
  • 이벤트에 대한 반응으로 일어날 일을 지정하는 것
  • 웹 서비스와 UI에 잘 어울린다

반응형 아키텍처의 절충점

  • 원인과 효과가 결합한 것을 분리한다
  • 여러 단계를 파이프라인으로 처리한다
  • 타임라인이 유연해진다
  • 결합의 분리는 원인과 효과의 중심을 관리합니다

어니언 아키텍처는 무엇인가요?

  • 인터랙션 계층

    • 바깥세상에 영향을 주거나 받는 액션
  • 도메인 계층

    • 비즈니스 규칙을 정의하는 계산
  • 언어 계층

    • 언어 유틸리티와 라이브러리
  • 현실 세계와 상호작용은 인터렉션 계층에서 해야 한다

  • 계층에서 호출하는 방향은 중심 방향입니다

  • 계층은 외부에 어떤 계층이 있는지 모른다

도메인 규칙은 도메인 용어를 사용합니다

  • 프로그램의 핵심 로직을 도메인 규칙(domain rule) 또는 비즈니스 규칙(business rule)이라고 합니다

가독성을 따져 봐야 합니다

  • 특정 패러다임의 장점이 항상 좋은 것이 아니라는 것을 알았습니다
  • 가독성을 결정하는 요소
    • 사용하는 언어
    • 레거시 코드와 코드 스타일
    • 사용하는 라이브러리
    • 개발자들의 습관
  • 코드의 가독성
    • 일반적으로 함수형 코드는 읽기 좋습니다
  • 개발 속도
  • 시스템 성능

참조