-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
Oder 클래스 질문입니다.
20.12.29 13:19 작성 조회수 243
3
Order를 생성할 때, Order 클래스의 생성자를 이용하는 것이 아니라, OrderService의 createOrder로 생성하는 이유는 무엇인가요?
Member 인스턴스의 경우는 Member클래스의 생성자를 이용해서 생성하는데, Order 클래스의 경우는 바로 Order클래스의 생성자를 이용하지 않는 이유가 궁금합니다.
감사합니다.
답변을 작성해보세요.
2
김영한
지식공유자2020.12.29
안녕하세요. 118jjh님 좋은 질문입니다.
이것을 static factory 패턴이라고 하는데요. 일반적으로 많이 사용하는 패턴 입니다. 다음 링크에 잘 정리되어 있습니다.
https://johngrib.github.io/wiki/static-factory-method-pattern/
추가로 Member 처럼 매우 생성이 단순한 경우에는 생성자를 그냥 사용하는게 더 좋습니다^^(간단한 곳에는 간단한 무기로!)
감사합니다.
0
김선동
2021.11.13
안녕하세요. 영한님
답변 내용에서 의아한 부분이 생겨서 질문드립니다.
`Service`에서 `createOrder`를 사용하는 것도 `static factory method` 패턴이라고 볼 수 있는 것인가요?
`Order` 클래스를 직접 생성하지 않는 이유는 `createOrder`에 비즈니스 로직이 포함되기 때문이라고 생각했는데 답변을 보니 그렇지 않아보여서요!
답변 미리 감사드립니다!
답변 2