기주

모듈 분리 / 서비스 코드 분리 기준 본문

TIL

모듈 분리 / 서비스 코드 분리 기준

기주그지마 2024. 6. 10. 17:26

 

 

 

모듈 분리, 서비스 코드 분리 기준에 대해 생각해보자 각각 언제해야할까?

 

 

 

 

예를들어 댓글 CRUD기능과 댓글 좋아요기능이 있다고 가정해보자

 

그럼

 

1. 댓글 CRUD기능과 댓글 좋아요 기능의 서비스 코드를 분리해야할까?

 

-> 특정 서비스내의 메서드들 중에서 어떤 것은 export를 해야하고 어떤 것은 export를 할 필요가 없다(해서는 안된다).

 

이때 각 메서드들은 별도의 클래스로 분리해야한다( 객체지향설계 SOLID 중 인터페이스 분리 원칙) 

 

 

(인터페이스 분리 원칙 : 클라이언트가 자신이 이용하지 않는 메서드에 의존하지 않아야 한다는 원칙이다. -> 사용하지않는 불필요한 메서드

 

들은 가져오면 안된다. 꼭 필요한 메서드들만 주입 받아야한다 )

 

 

 

 

 

 

2. 댓글 CRUD기능과 댓글 좋아요 기능의 모듈을 분리해야 할까?

 

-> 모듈단위는 개발자가 유지보수하는 단위이다. 

 

어떤 기능을 하나 수정해야한다면 개발자는 적어도 해당 기능이 속한 모듈(디렉토리) 전체를 한번씩 볼 필요가 있다 

 

어떤 기능을 하나 수정해야한다면 그 기능이 속한 모듈내에서만 수정하도록 만드는 것이 좋다.

 

만약 하나의 기능을 수정한다고 했을때 여러 모듈을 다 뒤져서 수정하지 않도록 만드는 것이 좋다

 

각각의 기능이 독립적이고 서로 참조할 일이 없다면 별도의 모듈로 분리하는게 좋다