[Clean Architecture] 15장 아키텍처란?

soohee·2022년 5월 11일
0

클린아키텍처

목록 보기
14/15

한 줄 요약 : 아키텍처의 궁극적인 목표는 시스템의 수명과 관련된 비용은 최소화하고, 프로그래머의 생산성은 최대화하는데에 있다.

개발

시스템 아키텍처는 개발팀이 시스템을 쉽게 개발할 수 있도록 해야한다.

배포

소프트웨어 아키텍처는 쉽게 배포할 수 있도록 만들어야 한다. 배포 비용이 높아질 수록 시스템의 유용성이 떨어진다고 생각하자.

운영

시스템 아키텍처는 유스케이스, 기능, 시스템의 필수 행위를 first-class 엔티티로 만들고, 개발자들에게 이들을 주요 목표로 인식 되도록 해야한다.

→이를 통해 시스템 이해가 쉬워진다.

유지보수

유지보수는 가장 비용이 많이 드는 부분이지만, 아키텍처를 신중하게 만들면 이 비용을 줄일 수 있다.

탐사와 그것으로 인한 위험요소에 대한 비용이 제일 많이 들기 때문에, 더욱 신경써야한다.

  • 탐사 기존 소프트웨어에 새로운 기능을 추가하거나 결함을 수정할 때, 어디를 고쳐야 할지, 어떤 전략을 쓰는게 최적일지 판단하는 비용

선택사항 열어두기

소프트웨어를 부드럽게 유지하려면, 중요하지 않은 세부사항을 가능한 많이, 그리고 오랫동안 열어두는 것이다.

  • 정책 : 시스템의 진정한 가치로서, 모든 업무 규칙과 업무 절차를 구체화한다.
  • 세부사항 : 클라이언트, 프로그래머 등이 정책과 소통할 때, 필요한 요소지만, 정책이 가진 행위에는 영향을 미치지 않음을 유의해야한다.

→ 좋은 아키텍트는 결정되지 않는 것들의 수를 최대화 해야한다.

장치 독립성

장치독립적인 것을 중요하다. 장치 종속적일 경우 장치마다 해당 코드를 생성해야하기 때문이다.

오늘날 운영체제는 장치 독립적이다.

광고 우편

저자의 경험이 담겨있다.

정책을 세부사항으로 분리하고, 어떤장치를 사용할 지에 대한 결정을 최대한 미뤘다는 내용이 담겨있다.

물리적 주소할당

정책을 물리적 구조로 부터 독립시킴으로써 애플리케이션과 하드웨어를 분리할 수 있었다.

결론

좋은 아키텍트는 세부사항에 대한 결정을 가능한 한 오랫동안 미룰 수 있는 방향으로 정책을 설계한다.

profile
🐻‍❄️

0개의 댓글