소프트웨어 시스템 아키텍처
: 시스템을 구축했던 사람들이 만들어낸 시스템의 형태
- 목적: 시스템의 생명주기를 지원하는 것
- 궁극적인 목표: 시스템의 수명과 관련된 비용은 최소화, 프로그래머의 생산성은 최대화
소프트웨어 시스템이 쉽게 개발, 배포, 운영 유지보수되게 만드려면
가능한 많은 선택지를, 가능한 오래 남겨두는 전략을 따라야한다.
- 개발
- 배포
- 운영
- 유지보수
아키텍트의 목표는 시스템에서 정책을 가장 핵심적인 요소로 식별하고,
동시에 세부사항은 정책에 무관하게 만들 수 있는 형태의 시스템을 구축하는 것
- 개발 초기에는 데이터베이스 시스템을 선택할 필요가 없다
- 개발 초기에는 웹서버를 선택할 필요가 없다.
- 개발 초기에는 REST를 적용할 필요가 없다.
- 개발 초기에는 의존성 주입 프레임워크를 적용할 필요가 없다.
좋은 아키텍처가 지원해야하는 것
- 유스케이스
- 운영
- 개발
- 배포
결합 분리 모드 (계층과 유스케이스의 결합을 분리하는 방법) 종류
- 소스 수준 분리 모드
- 배포 수준 분리 모드
- 서비스 수준 분리 모드
728x90
반응형
'클린아키텍처' 카테고리의 다른 글
[클린아키텍처] 19장 정책과 수준, 20장 업무 규칙 (0) | 2022.03.11 |
---|---|
[클린아키텍처] 17장 경계: 선긋기, 18장 경계 해부학 (0) | 2022.03.10 |
[클린아키텍처] 12장~14장 컴포넌트 원칙 (0) | 2022.03.06 |
[클린아키텍처] 7장~11장 설계원칙 - SOLID 원칙 (0) | 2022.02.27 |
[클린아키텍처] 3장~6장 프로그래밍 패러다임 - 구조적 프로그래밍, 객체 지향 프로그래밍, 함수형 프로그래밍 (0) | 2022.02.27 |
댓글