인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

zxzxzlxlzlxl님의 프로필 이미지
zxzxzlxlzlxl

작성한 질문수

스프링 핵심 원리 - 기본편

싱글톤 패턴

질문입니다!

작성

·

141

0

첫 번째. logic을 작성하는 이유
 
두 번째. singleton이 DIP를 위반하는 이유
내 생각 : singleton pattern을 통해 생성한 object를 적용하기 위해선 AppConfig의 memberService와 같은 interface를 변경해야하므로 DIP를 위반한다. (혹시 이게 맞는지.. 확인 하고 싶습니다)

답변 1

3

안녕하세요. zxzxzlxlzlxl님, 공식 서포터즈 David입니다.

.
강의 내 싱글톤 패턴을 통해 생성한 객체를 가져다 쓰는 것은 문제되지 않습니다.

다만, 클라이언트(싱글톤 객체를 호출할 객체)가 인터페이스를 통해 외부로부터 의존관계를 주입받지 않고 구체 클래스(싱글톤 패턴을 구현한 클래스)에 의존하게 되므로 DIP 위반이 발생하게 됩니다.
.
감사합니다.

아 구현체에서 만든 객체를 가져다 쓰는것이 문제가 아닌, 호출하는 클라이언트에서 getInstance()라는 구현체에 속하는 매소드를 사용해서 DIP위반이라는 말씀이신가요?

그 전에는 구현하는 client에서 Appconfig()로 만 연결이 되었는데

이번에는 appconfig로 만든객체의 매소드가 아닌, appconfig로 만든 객체를 통해 구현체의 

getInstance()를 사용하게 되니까?

zxzxzlxlzlxl님의 프로필 이미지
zxzxzlxlzlxl

작성한 질문수

질문하기