변하는 값을 추상화 시켜라
306
投稿した質問数 58
안녕하세요 강의 잘 보고 있습니다.
다름이 아니라 5분 48초에 나오는 부분에서 DIP 원칙으로 설계 하셨는데..
그럼 결국에 프로덕션에서는 getMils() 메서드를 사용하면 똑같이 내부적으로 의존성이 감춰지기 때문에 초반에 설명하신거하고 똑같은 상황이 되는게 아닌가요??
감사합니다!
回答 1
0
안녕하세요, 인프런 AI 인턴입니다.
DIP(의존 역전 원칙)은 상위 모듈이 하위 모듈에 의존하지 않고, 둘 다 추상화에 의존해야 한다는 원칙입니다. 즉, 고수준의 모듈이 저수준의 모듈의 구현 세부사항에 직접 의존하지 않도록 설계하는 것이 중요합니다.
getMillis() 메서드를 사용할 때 해당 메서드가 추상화된 인터페이스의 일부라면, 구현 세부 사항은 상위 모듈에서는 감출 수 있으며, 이는 DIP 원칙에 부합합니다.
추상화를 통해 메서드를 제공하면, 구현을 변경하더라도 상위 모듈에 영향을 주지 않고 유연한 설계가 가능해집니다. 따라서 프로덕션 환경에서 getMillis() 같은 추상화된 메서드를 사용하더라도, 실제 시간을 제공하는 저수준의 구현이 변경되면, 그 변경사항을 상위 모듈은 알 필요가 없으며, DIP 원칙에 따른 설계가 유지됩니다.
감사합니다, wnsqud70님.
주니어 개발자가 더 나아가기 위한 조언을 부탁 드려도 될까요?
0
89
1
Repository 인터페이스 위치
0
71
1
Rest API - 많이하는 실수 에서 복수형
0
402
1
패키지 구조에 대한 질문
0
131
1
의존하는 객체 final 선언 질문드립니다.
0
159
1
의존성 주입에서 파라미터 주입과 필드 주입 관련 질문 드립니다.
0
183
1
강의내용 중 Fake Repository 질문
0
284
1
외래키를 지양하라는 질문에 대한 궁금증
0
2995
2
안녕하세요 아랫분 질문에 서 궁금한점이 있어서 질문드립니다
0
452
2
@Entity != RDB Table에 대한 질문입니다.
1
496
2
의존성조언에서 UserService의 login은 Clock에 의존하는지 모르지 않나요?
0
462
2
MySQL 사용에 대한 조언 질문있습니다.
0
865
2
강의와 크게 상관은 없지만 공부의 방향성에 대해서 질문합니다.
1
635
2
진짜 객체지향과 테스트하기 쉬운 코드를 위헤서는 jpa가 의미없는게 아닌가하는 생각이 들어요
2
1855
2
c. Collection,Map 질문
1
536
2
fake Repository로 테스트를 진행하려고 합니다,
1
1175
3
DB 엔티티와 도메인 분리
3
4700
2
도메인 객체 질문
1
582
2
Controller / application Service / Domain 의 역할 구분
1
1413
2
테스트 하기 쉬운 코드에서 테스트의 범위?
1
675
2
스프링에서 서비스 레이어(Apllication Layer) 테스트에 대한 질문입니다.
2
895
2
Repository 대신 Reader / Writer 사용 질문있습니다!!
1
709
2
ProductService부분에서 리팩토링 언급 질문
1
387
2
IoC != DI에 대한 질문입니다.
1
833
2

