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

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

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

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

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

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

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

반응형 아키텍처의 절충점

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

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

  • 인터랙션 계층

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

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

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

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

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

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

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

    가독성을 따져 봐야 합니다

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

참조