강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của recordable07111249
recordable07111249

câu hỏi đã được viết

Nguyên lý cốt lõi của Spring - Phiên bản cơ bản

Mẫu Singleton

싱글톤이 DIP를 위반한다는 점에서 질문있습니다.

Đã giải quyết

Viết

·

986

7

안녕하세요. 

수업을 듣다가 Singleton이 DIP를 위반한다는 점에서 여쭤보고 싶은 점이 생겼습니다.

클라이언트에서 의존성을 주입받는 다고 하고, A, B 두 클래스가 있을 때 B가 A를 상속받는 Singleton이라 가정하겠습니다.

클라이언트가 생성자 주입을 받든, Setter 주입을 받든 A에 의존하게 하고, 클라이언트에 의존성을 주입하는 Config(?)가 A를 넣는자리에 B를 넣어주면 DIP 문제가 해결되는 것이 아닌가요?

어째서 Singleton을 쓰면 DIP가 위반되는지 궁금합니다

oopspring

Câu trả lời 2

17

yh님의 프로필 이미지
yh
Người chia sẻ kiến thức

안녕하세요. recordable542님 좋은 질문입니다.

말씀하신 것 처럼 중간에 Config를 넣으면 싱글톤이어도 DIP 위반을 피할 수 있습니다^^

그런데 싱글톤을 사용하면 public으로 공유 인스턴스를 사용할 수 있게 전역적으로 공개해버리기 때문에, 대부분 해당 인스턴스를 전역적으로 직접 참조해서 사용하게 됩니다. (싱글톤은 패턴의 의도가 해당 인스턴스를 직접 참조해서 사용하도록 getInstance()를 public static으로 열어둔 것입니다.)

감사합니다.

2

recordable07111249님의 프로필 이미지
recordable07111249
Người đặt câu hỏi

Hình ảnh hồ sơ của recordable07111249
recordable07111249

câu hỏi đã được viết

Đặt câu hỏi