-
모듈 분리 / 서비스 코드 분리 기준TIL 2024. 6. 10. 17:26
모듈 분리, 서비스 코드 분리 기준에 대해 생각해보자 각각 언제해야할까?
예를들어 댓글 CRUD기능과 댓글 좋아요기능이 있다고 가정해보자
그럼
1. 댓글 CRUD기능과 댓글 좋아요 기능의 서비스 코드를 분리해야할까?
-> 특정 서비스내의 메서드들 중에서 어떤 것은 export를 해야하고 어떤 것은 export를 할 필요가 없다(해서는 안된다).
이때 각 메서드들은 별도의 클래스로 분리해야한다( 객체지향설계 SOLID 중 인터페이스 분리 원칙)
(인터페이스 분리 원칙 : 클라이언트가 자신이 이용하지 않는 메서드에 의존하지 않아야 한다는 원칙이다. -> 사용하지않는 불필요한 메서드
들은 가져오면 안된다. 꼭 필요한 메서드들만 주입 받아야한다 )
2. 댓글 CRUD기능과 댓글 좋아요 기능의 모듈을 분리해야 할까?
-> 모듈단위는 개발자가 유지보수하는 단위이다.
어떤 기능을 하나 수정해야한다면 개발자는 적어도 해당 기능이 속한 모듈(디렉토리) 전체를 한번씩 볼 필요가 있다
어떤 기능을 하나 수정해야한다면 그 기능이 속한 모듈내에서만 수정하도록 만드는 것이 좋다.
만약 하나의 기능을 수정한다고 했을때 여러 모듈을 다 뒤져서 수정하지 않도록 만드는 것이 좋다
각각의 기능이 독립적이고 서로 참조할 일이 없다면 별도의 모듈로 분리하는게 좋다
'TIL' 카테고리의 다른 글
[TIL] 자료구조 - 배열, 연속리스트, 연결리스트 차이 (0) 2024.06.26 테스트 코드로 알아보는 DI (0) 2024.06.10 의존성 주입(Dependency Injection) (0) 2024.06.10 [nest.js] swagger 적용하기 (0) 2024.05.29 [ERROR] ReferenceError: exports is not defined in ES module scope (0) 2024.05.28