
238
3부
영향력
전히 분리할 수 있도록 허가했다.
PenultimateWidgets
의 사례에서 얻는 조언은 두 가지다. 첫째, 커플링 지점이 진화를 방해
하거나 중요한 아키텍처 특성을 저해할 경우 포크 또는 복제를 통해 커플링을 끊어야 한다.
PenultimateWidgets
는 각 팀이 공유 코드를 직접 소유하는 방식으로 커플링을 끊었다. 그로
인해 팀의 부담은 늘어났지만 신기능을 도입하는 능력은 개방되었다. 또한 전체 코드 중 일부
를 추상화시키는 방식으로 선택적 커플링을 생성하거나 점진적으로 분리하는 것도 가능하다.
둘째, 아키텍트는 아키텍처의 각종 특성을 평가하며 이들이 지속적으로 가치를 더하고 안티패
턴으로 남겨지지 않도록 관리해야 한다.
구축 당시 아키텍트가 내렸던 올바른 결정은 시간이 흐른 뒤 틀린 결정으로 뒤바뀌는 경우가
많다. 이러한 반전의 주된 원인은 동적 평형 조건의 변화다. 일례로, 과거에 데스크톱 애플리케
이션으로 설계된 많은 시스템이 사용 형태의 변화로 인해 점차 웹 애플리케이션으로 전환되고
있다. 원래의 결정은 틀리지 않았지만 생태계가 예상치 못한 방향으로 움직인 것이다.
8.1.3 8.1.3
안티패턴안티패턴
벤더 벤더 킹 킹
일부 대기업은 회계, 재고 관리, 일상적인 비즈니스 업무 등을 처리하기 위해 전사적 자원 관리
enterprise ...