프로젝트

토이프로젝트 - NodeToSpring 4. 리팩토링 약간...

GoF9490 2022. 12. 13. 19:57

소요시간 : 1 ~ 2시간 사이

깃허브 : https://github.com/GoF9490/NodeToSpring-Board

 

GitHub - GoF9490/NodeToSpring-Board

Contribute to GoF9490/NodeToSpring-Board development by creating an account on GitHub.

github.com

 

정말 타이밍이 좋다고 해야할지, 전에 했던 작업에서의 오류, 그 외 개선사항 등등이 현재 제가 듣고있는 강의에서 그대로 나와서 간단하고 빠르게 몇개만 적용시켜서 리팩토링 했습니다.

 

코드 자체는 크게 변하지 않았지만 범위가 넓어서 바꾼 코드들 하나하나 올리기는 좀 그렇고, 무엇을 바꾸었는지 정도만 언급하고 바뀐 코드는 직접 깃허브 링크에서 확인해주시면 감사하겠습니다.

 

1. service 단계 코드들 인터페이스 생성, 다형성 적용. ( DI 는 autowired 로 구현해놓은 상태였습니다. )

 

2. ManyToOne 태그들 fetch 를 전부 LAZY 로 변경.

( 아마 댓글 갯수 카운팅하는 로직이 있어서 똑같이 전부 끌어오겠지만 나중에 그룹바이로 댓글 수만 카운팅해서 가져오는 방식의 로직을 따로 구현하게 된다면 성능개선을 노려볼 수 있을것 같습니다. )

 

3. Entity 객체들을 생성자에서 정적 팩토리 메서드 패턴으로 변경.

 

4. 핵심 로직을 기준으로 패키지 분리. ( 좀더 세분화가 필요할지 잘 모르겠네요. )

 

수업 내용, 강의 내용을 중심으로 간단하게 리팩토링 해봤습니다. 당장에 생각나는것은 id를 시퀀스방식으로 수정 정도의 리팩토링인데, 현재 수업 내용도 많고 강의도 들을게 많아서 언제 따로 찾아보고 적용할지는 잘 모르겠습니다. 수업 내용중에 언급되면 좋을텐데ㅎㅎ.

 

하여튼, 배운걸 바로 적용해 볼 수 있는 작업물이 있는것은 편하고 좋네요. 당분간은 배우는 내용을 위주로 이렇게 사소하게 기능구현 및 리팩토링을 진행하지 않을까 싶습니다.