ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 24장 - 부분적 경계
    클린 코드(Clean Code)/클린 아키텍처요약 2023. 1. 18. 00:01
    728x90

    경계 비용과 부분적 경계

    경계를 완벽하게 만드는 데 비용이 많이 듭니다.

    뛰어난 아키텍트라면 이런 경계를 만드는 비용이 너무 크다고 생각할 수 있지만, 나중에 필요할 수 있기 때문에 경계에 필요한 공간을 확보하기 원할 수 있습니다.

     

    애자일 커뮤니티의 많은 사람들이 이런 점이 YAGNI(You Aren't Going to Need it) 원칙을 위배하기 때문에 탐탁지 않게 여깁니다.

     

    YAGNI란?

    프로그래머가 필요하다고 간주할 때까지 기능을 추가하지 않는 것이 좋다는 원칙입니다.

     

    이때 부분적 경계를 구현해볼 수 있습니다.

     

    부분적 경계

    독립적으로 컴파일하고 배포할 수 있는 작업을 모두 수행한 뒤, 단일 컴포넌트에 그대로 모아두는 것입니다.

    완벽한 경계를 만드는 것 만큼 코드와 사전 설계가 필요하지만 다수의 컴포넌트 관리하는 작업은 하지 않아도 됩니다.

     

    하지만 시간이 지남에 따라 A 컴포넌트와 B컴포넌트 사이의 구분이 약화되기 시작하며 의존성은 잘못된 방향으로 선을 넘기 시작할 수 있게 되는 위험이 발생합니다.

     

    일차원 경계

    완벽한 형태의 아키텍처 경계는 양방향으로 격리된 상태를 유지해야 하므로 쌍방향 Boundary 인터페이스를 사용합니다.

    Strategy 패턴을 사용하거나 Facade 패턴을 활용하여 만들어낼 수 있습니다.

     

     

    결론

    경계를 구분하는 다양한 방법이 존재하며 각각은 나름의 비용과 장점을 가집니다.

     

    댓글

Designed by Tistory.