8. 아키텍처 컴포넌트의 균형을 잡아라
가이드라인
최상위 수준의 컴포넌트 개수와 상대적 크기를 균형잡는다
컴포넌트 개수가 9개 정도 (6~12개 사이) 되도록 소스 코드를 조직화하고 컴포넌트 크기를 대략 균등하게 맞춘다
균형잡힌 컴포넌트는 코드를 찾고 독립적으로 유지보수하기 좋아 유지보수성이 개선됨
캡슐화의 경계를 긋는 일은 소프트웨어 아키텍처에서 아주 중요한 기술이다
-조지 H 페어뱅크스의 <Just Enough Software Architecture> 중에서
1. 필요성
컴포넌트 균형이 잡혀 있어야 유지보수가 편리
적절한 수준을 유지하는 것이 중요
균형이 잘 잡힌 컴포넌트 덕분에 코드를 찾고 분석하기가 쉽다
컴포넌트의 개수는 9개 정도가 유지보수 가능한 수준
균형이 잘 잡힌 컴포넌트 덕분에 유지보수 효과를 분리 할 수 있다
균형이 잘 잡힌 컴포넌트 덕분에 유지보수 책임을 분담 할 수 있다
2. 적용가이드
최상위 수준의 시스템 컴포넌트는 9개가 가장 좋고, 6~12개 사이로 하는편이 좋다
컴포넌트 크기 (소스코드량)은 대체로 비슷하게 맞춤
강박관념으로 무조건 9개를 맞추려고하는건 금물. 시스템을 자연스럽게 컴포넌트로 나눠야하며, 그 수준이 9개정도가 적당한 케이스가 많기 때문으로 기준을 잡은것
컴포넌트로 기능을 묶는 기준이 되는 올바른 개념 수준
기능을 기준으로
기술에 따라 프론트, 백엔드, 인터페이스, 로깅 같은 컴포넌트들로 분류 할 수 있음
소프트웨어 아키텍트는 시스템에서 기능을 어떻게 묶어야 할지 올바르게 개념을 정립할 의무가 있음
시스템 도메인을 명확히 하고 일관되게 적용하라
시스템을 어떻게 컴포넌트로 분류할지 결정한 다음, 일관되게 적용 (공통 컴포넌트 같은..)
표준화 하여 따르도록 하고, 개발자 모두는 표준에 맞춰 개발을하고 준수하도록 노력해야함
균형이 제대로 잡히지 않으면, 관심사 분리가 제대로 되지 않음의 반증임 (7장의 내용)
Last updated
Was this helpful?