더북(TheBook)

프로토타입 빈을 싱글톤 빈만큼 자주 접하지는 않지만, 빈을 프로토타입으로 만들지 결정하는 데 사용할 수 있는 좋은 패턴이 있다. 싱글톤 빈은 변경되는 객체와는 그다지 좋은 친구가 아니라는 점을 기억하라. 댓글을 처리하고 유효성을 검사하는 CommentProcessor라는 객체를 설계했다고 가정해 보자. 서비스에서는 사용 사례를 구현하려고 CommentProcessor 객체를 사용하지만, CommentProcessor 객체는 처리할 댓글을 속성으로 저장하고 그 메서드는 그 속성을 변경한다(그림 5-9).

▲ 그림 5-9 서비스 클래스는 가변(mutable) 객체를 사용하여 사용 사례에 대한 로직을 구현한다

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