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

programming/%EC%97%98%EB%A0%88%EA%B0%95%ED%8A%B8-%EC%98%A4%EB%B8%8C%EC%A0%9D%ED%8A%B8-%EC%9B%90%EC%B9%99%EC%9D%84-%EC%A0%81%EC%9A%A9%ED%95%B4-%EB%A6%AC%ED%8C%A9%ED%84%B0%EB%A7%81%ED%95%98%EA%B8%B0/ #6

Open
utterances-bot opened this issue Jul 24, 2021 · 3 comments

Comments

@utterances-bot
Copy link

엘레강트 오브젝트 원칙을 적용해 리팩터링하기 - Junroot

인자의 값으로 null을 절대 허용하지 마라

https://junroot.github.io/programming/%EC%97%98%EB%A0%88%EA%B0%95%ED%8A%B8-%EC%98%A4%EB%B8%8C%EC%A0%9D%ED%8A%B8-%EC%9B%90%EC%B9%99%EC%9D%84-%EC%A0%81%EC%9A%A9%ED%95%B4-%EB%A6%AC%ED%8C%A9%ED%84%B0%EB%A7%81%ED%95%98%EA%B8%B0/

Copy link

"충성스러우면서 불변이거나, 아니면 상수이거나" 파트를 보시면 아시겠지만, 엘레강트 오브젝트는 "상수 객체"와 "불변 객체"를 구분하고 있습니다. 작성자님이 말씀하시는 매번 객체를 새로 생성하는 것은 상수 객체의 특징입니다. 해당 파트의 상수 리스트와 불변 리스트를 보시면 쉽게 이해할 수 있습니다.

Copy link
Owner

Junroot commented Jul 24, 2021

@Kyurenpoto 감사합니다. 참고하겠습니다 👏

Copy link

Kyurenpoto commented Jul 24, 2021

추가로 객체 생성 관련한 파트에서 생성자로 넘어온 인자를 변환해서 다른 생성자로 넘기는 코드를 예시로 들고 있습니다. 해당 방식처럼 외부 클래스의 메서드를 호출한 뒤 그 리턴값을 사용하는 방식이라면 유효성 검증 문제 또한 해결할 수 있습니다.
또 다른 방식으로는 팩토리/빌더 메서드에서 유효성 검사 메서드를 호출하는 방식이 있지만, 근본적으로 앞서 소개한 방식과 동일한 방식입니다.

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