본문 바로가기
클린아키텍처

[클린아키텍처] 15장 아키텍처란?, 16장 독립성

by bzerome240 2022. 3. 6.

 

소프트웨어 시스템 아키텍처

: 시스템을 구축했던 사람들이 만들어낸 시스템의 형태

  • 목적: 시스템의 생명주기를 지원하는 것
  • 궁극적인 목표: 시스템의 수명과 관련된 비용은 최소화, 프로그래머의 생산성은 최대화

 

소프트웨어 시스템이 쉽게 개발, 배포, 운영 유지보수되게 만드려면
가능한 많은 선택지를, 가능한 오래 남겨두는 전략을 따라야한다.

 

  • 개발
  • 배포
  • 운영
  • 유지보수

 

아키텍트의 목표는 시스템에서 정책을 가장 핵심적인 요소로 식별하고,

동시에 세부사항은 정책에 무관하게 만들 수 있는 형태의 시스템을 구축하는 것

  • 개발 초기에는 데이터베이스 시스템을 선택할 필요가 없다
  • 개발 초기에는 웹서버를 선택할 필요가 없다.
  • 개발 초기에는 REST를 적용할 필요가 없다.
  • 개발 초기에는 의존성 주입 프레임워크를 적용할 필요가 없다.

 


 

좋은 아키텍처가 지원해야하는 것

  1. 유스케이스
  2. 운영
  3. 개발
  4. 배포

 

결합 분리 모드 (계층과 유스케이스의 결합을 분리하는 방법) 종류

  1. 소스 수준 분리 모드
  2. 배포 수준 분리 모드
  3. 서비스 수준 분리 모드

 

 

 

 

 

 

 

 

 

 

728x90
반응형

댓글