Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

9장 유연한 설계 #42

Open
lee-ji-hoon opened this issue May 29, 2023 · 6 comments
Open

9장 유연한 설계 #42

lee-ji-hoon opened this issue May 29, 2023 · 6 comments

Comments

@lee-ji-hoon
Copy link
Owner

No description provided.

@lee-ji-hoon lee-ji-hoon changed the title 8장 유연한 설계 9장 유연한 설계 May 29, 2023
@lee-ji-hoon
Copy link
Owner Author

@ldh019
Copy link
Collaborator

ldh019 commented Jun 10, 2023

Hilt는 public 멤버도 주입이 되지 않나? 이거 생성자로 넣는거였나 기억이 안나네

@lee-ji-hoon
Copy link
Owner Author

객체지향 공부하면서 제일 헷갈렸던 말이 좀 정리가 된거 같아

소프트웨어 개체는 확장에 대해 열려 있어야 하고, 수정에 대해서는 닫혀 있어야 한다.

개방 폐쇄의 원칙인데, 어떻게 동작을 추가해서 기능을 확장하는데 코드를 수정하지 않고도 애플리 케이션의 동작을 추가하거나 변경을 한다는 것인지 이해가 안됐는데 이 말이 런타임 의존성과 컴파일타임 의존성에 대해서 이야기 하고 있었다는 것을 깨닿게 됐네

@lee-ji-hoon
Copy link
Owner Author

Hilt는 public 멤버도 주입이 되지 않나? 이거 생성자로 넣는거였나 기억이 안나네

이건 무슨 말인지 월요일날 이야기를 해보자

@yangsooplus
Copy link
Collaborator

p.304의 모듈 분리하는게 잘 이해가 안되네...
그림 9.10 처럼 분리하면 결국 AmountDiscountPolicy를 쓰기 위해서 클라이언트 패키지도 같이 import 해야하는거 아냐?
DiscountPolicy랑 상관 없는 모듈에서 DiscountPolicy를 구현하는 녀석들을 import 하지 않기 위해서 한다고 받아들이면 되려나??

@yangsooplus
Copy link
Collaborator

핵심은 객체를 생성하는 방법에 대한 결정은 모든 책임이 자리를 잡은 후 가장 마지막 시점에 내리는 것이 적절하다는 것이다.

이렇게 설계하면 필요한 만큼만 유연하게 구조를 짤 수 있어서 좋을 것 같네
그러면 모든 책임을 자리잡도록 구현하는 동안에는 객체 생성을 어떻게 관리해야 좋을까?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants