더북(TheBook)

어떤 경우에는 단순함을 유지하는 데 더 많은 작업이 필요하기도 합니다. 예를 들어 엔티티 A 캐시의 최신 상태를 매번 확인하는 것은 너무 느릴 수 있습니다. 대신에 엔티티를 업데이트할 때 이벤트로 캐시를 업데이트하여 항상 최신 상태로 유지할 수 있습니다. 물론 이벤트 알림 시스템을 구축하는 데 시간이 오래 걸릴지도 모릅니다. 그럼에도 이러한 시스템이 완성되면 모든 엔티티와 클라이언트에 적용할 수 있는 일반적인 캐시 메커니즘을 제공할 수 있으며, 이것으로 시스템 단순성을 유지할 수 있습니다. 다만 이 작업이 가치가 있는지 여부는 구체적인 상황과 예상되는 변경의 진행 방향 등에 따라 다릅니다.

여러 노력에도 시스템 대부분은 시간이 지나면서 복잡성이 증가합니다. 따라서 아키텍처 팀은 시스템의 단순함과 관련하여 최종적인 책임이 있으며, 그 책임은 바로 지속적으로 시스템 단순화 작업을 추진하는 것입니다. 이는 주로 시스템 내에 잠재된 패턴을 식별함으로써 달성할 수 있습니다. 일단 시스템 내에서 어떤 패턴이 식별되면 이것으로 좀 더 일반적인 기능을 구축하고, 일회성 구현을 해당 기능으로 마이그레이션한 뒤 제거해야 합니다. 이 작업이 완료되면 시스템은 새로운 기본 기능을 갖추게 되어 여러 특수 사례를 제거할 수 있습니다. 시스템 내에 있는 불필요한 요소를 찾아 제거할 수 있다면 더욱 좋습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.