하지만 지연 인스턴스 생성 방식이 모두 나쁜 것은 아니다. 얼마 전에 필자는 방대한 모놀리식 애플리케이션을 작업한 적이 있다. 이 앱은 여러 곳에 설치되어 클라이언트가 다양한 목적으로 사용되었다. 대부분의 경우 특정 클라이언트는 많은 기능을 사용하지 않았기 때문에, 스프링 컨텍스트와 함께 모든 빈의 인스턴스를 생성하는 것은 불필요하게 많은 메모리를 차지했다. 이 앱에서 개발자는 대부분의 빈을 지연 인스턴스로 생성하도록 설계하여 앱이 필요한 인스턴스만 생성하게 했다.
필자는 기본적으로 즉시 인스턴스 생성 방식을 사용하라고 조언하고 싶다. 일반적으로 이 방식이 장점이 더 많기 때문이다. 모놀리식 앱에서 앞서 설명한 것과 같은 상황에 처했다면 먼저 앱 설계에 문제가 없는지 확인해 보자. 지연 인스턴스 생성 방식을 사용해야 한다는 것은 종종 앱 설계에 잠재적인 문제가 있다는 신호일 수 있다. 예를 들어 필자의 경험에 따르면 앱이 모듈식 또는 마이크로서비스로 설계되었다면 더 나은 경우도 있었다. 이런 아키텍처들을 적용했다면 개발자가 특정 클라이언트에 필요한 것만 배포할 수 있고, 빈을 지연 인스턴스로 만들 필요도 없었을 것이다. 하지만 현실에서는 비용이나 시간과 같은 다른 요인으로 모든 것이 가능한 것은 아니다. 문제의 진짜 원인을 치료할 수 없더라도 증상의 일부만이라도 치료할 수 있을 때도 있다.