inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

코딩으로 학습하는 GoF의 디자인 패턴

플라이웨이트 패턴 4부 - 자바와 스프링에서 찾아보는 패턴

안녕하세요 기선님 enum 이야기가 잠깐 나와서 질문해요

301

ningning

작성한 질문수 4

2

안녕하세요 기선님
 
플라이웨이트 패턴 1부 내용에서..
"객체의 구성요소, 동일한 값을 가지는 객체에 대해서 매번 새로운 인스턴스를 생성하면 그건 낭비다."
 
그래서 플라이웨이트 패턴을 구성해 기존에 생성된 인스턴스를 캐싱하여 반환한다고 하셨는데요.
 
Q. A 객체에 a-1 객체를 멤버로 갖는 구조라면.
a-1 객체를 enum class로 만들어 단일 인스턴스를 보장하고 메모리 낭비를 줄이는것도 플라이웨이트 패턴을 만족하는 하나의 방법이 될 수 있다고 보면 될까요?
 
감사합니다.

java 디자인-패턴

답변 2

4

백기선

a-1 필드를 enum으로 정의하는 이유가 단일 객체를 쓰기 위함이라면 싱글톤 패턴에 가깝다고 보입니다. 목적이 A가 자주 사용하는 a-1을 캐싱하는 거라면, (그런데 오로지 하나 뿐이라면 굳이 캐싱이 아니라 역시 싱글톤으로 보이네요.) 아주 넓은 의미의 플라이웨이트 패턴이라고 볼 수도 있겠지만.. 그래도 뭔가 단일 객체를 "캐싱"한다는 개념보다는 "싱글톤"이 어울리네요.

예제에서도 보여드린것처럼, 뭔가 자주 사용되는 인스턴스들을 매번 새로 만드는게 아니라 재사용하는 패턴이라고 보시면 좋겠습니다. 

2

ningning

해당 패턴을 사용하는 목적이, 그리고 목적에 알맞는 패턴을 이용하는게 중요하다는 말씀이시네요.

감사합니다.

많이 사용되는 패턴의 순서를 정한다면 어떤 순서일까요?

0

112

1

@Builder에 대해 사소한 질문

0

52

1

default 기능이 있는 interface와 추상클래스의 차이

0

50

1

실무 코드에 디자인 패턴 적용 시의 '기준'에 대해 조언을 얻고 싶습니다.

0

42

1

데코레이터 패턴, before 가 O(2^n) 인 이유

0

42

0

혹시 다음강의는 언제쯤..

0

346

1

volatile 사용 이유에 대해서 여쭤보고 싶습니다!

0

616

3

Spring Security 의 ProviderManager (AuthenticationManager) 도 옵저버 패턴을 사용하고 있다고 볼 수 있을까요?

0

391

2

싱글톤 패턴을 깨트리는 방법

0

551

1

코드에 약간 오타가 있는거 같습니다.

0

430

1

싱글톤 (Singleton) 패턴 구현 방법 3 - 2번 퀴즈에 대해 질문이 있습니다.

0

568

2

안녕하세요, 강의 순서 질문드립니다.

0

685

1

스프링 시큐리티 WebSecurityConfigurerAdapter deprecated 대체 코드

0

2431

1

팩토리메소드 = 추상팩토리?

2

922

1

중재자 패턴에 관하여~

0

510

1

undo 메소드 작업중에서

1

365

1

익명클래스로 객체 생성시 의문점

0

586

1

mediator패턴에서 객체끼리 순환참조는 어떻게 해결해야할까요

0

479

1

객체간에 this를 넘기는 부분에 관련해 질문이 있습니다..

1

366

1

전략 패턴과 상태 패턴에 관련해서 질문이 있습니다.

0

283

1

플라이웨이트 패턴 3부에서 HashMap 동시성 질문입니다.

0

259

1

enum 이 이른 초기화 방법이 아니라는 것은,

0

505

1

해당 코드가 C# 에선 접근 관련 컴파일 에러가 뜹니다.

0

434

1

설계관련 궁금증이 있습니다.

0

327

0