인스턴스화 모드 선택하기


인스턴스화 모드 선택하기

1. 싱글톤 1.1 상태가 없는 공유 객체 : 상태를 관리하지 않는 객체를 가지고 있고 의존 객체가 많다면 싱글톤을 사용하라. 상태가 없다면 동기화 할 필요가 없기 때문에 의존 객체가 어떤 일을 할 때 매번 새로운 인스턴스를 만들 필요가 없기 때문이다. 1.2 읽기 전용 상태를 가진 공유 객체 : 동기화 할 필요가 없기 때문에 매 요청마다 인스턴스를 생성하면 오버헤드만 증가한다. 1.3 공유 상태를 가진 공유 객체 : 상태를 반드시 공유해야 하는 빈을 가지고 있다면 싱글톤이 이상적인 선택이다. 이 때 상태 저장의 동기화는 가능한 다른 작업과 충돌 없이 독립적으로 이루어지도록 해야 한다. 1.4 쓰기 가능한 상태를 가진 처리량 많은 객체 : 애플리케이션에서 빈번하기 사용하는 빈을 가졌다면 싱글톤을 유지하고 빈에 대한 모든 쓰기 권한을 동기화 하여 더 좋은 성능을 얻을 수 있다. 2. 비싱글톤을 고려해볼만한 상황 2.1 쓰기 가능 상태를 가지고 있는 객체 : 여러 개의 쓰기 가능 상태를...



원문링크 : 인스턴스화 모드 선택하기