인프런 커뮤니티 질문&답변

InflearnCruise님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

엔티티 클래스 개발2

Category 계층 구조를 보고 질문드립니다.

20.09.02 22:43 작성

·

303

1

안녕하세요. 영한님 강의 잘 듣고 있습니다. 감사합니다.

Category Entity에서 parent와 child 만드는 것을 보고

게시판에서 댓글과 대댓글 관계를 생각해보았는데


댓글 Entity에서 대댓글을 List로 담고 똑같은 계층구조로 구현하는게 객체지향적인 설계가 맞을까요?

답변 1

4

김영한님의 프로필 이미지
김영한
지식공유자

2020. 09. 02. 22:52

안녕하세요. InflearnCruise님^^

단순히 구조로만 보면 무한 카테고리나 무한 댓글은 서로 비슷한 패턴이 나오고 따라서 비슷한 구조로 가져가도 됩니다.

객체가 서로 참조하면서 동작하기 때문에 객체지향적인 설계인 것도 맞습니다.

다만 이렇게 만들면 성능이 잘 안나올 확율이 높습니다.

혼자 만드는 것을 넘어서 더 범용적이고, 더 많은 데이터가 있을 때도 문제가 없게 개발하려면, 결국 어느정도는 객체지향 설계보다는 DB에 의존적인 설계를 가져가야 필요도 있습니다. 대부분의 조회 성능은 DB에 달려있으니까요.

결국 이 둘 사이에서 균형을 잘 잡는 것이 진짜 애플리케이션 개발을 잘하는 것이겠지요^^?

(그래서 객체지향, JPA, DB 다 잘해야 합니다. ㅎㅎ)

도움이 되셨길 바래요.