작성
·
246
답변 2
4
a-1 필드를 enum으로 정의하는 이유가 단일 객체를 쓰기 위함이라면 싱글톤 패턴에 가깝다고 보입니다. 목적이 A가 자주 사용하는 a-1을 캐싱하는 거라면, (그런데 오로지 하나 뿐이라면 굳이 캐싱이 아니라 역시 싱글톤으로 보이네요.) 아주 넓은 의미의 플라이웨이트 패턴이라고 볼 수도 있겠지만.. 그래도 뭔가 단일 객체를 "캐싱"한다는 개념보다는 "싱글톤"이 어울리네요.
예제에서도 보여드린것처럼, 뭔가 자주 사용되는 인스턴스들을 매번 새로 만드는게 아니라 재사용하는 패턴이라고 보시면 좋겠습니다.
2