1. 모듈방식의 프로그래밍이란
- 소프트웨어를 작고 독립적인 구성 요소인 "모듈"로 나누어 개발하는 접근 방식
- 각 모듈은 특정 기능을 담당하고, 다른 모듈과 명확하게 정의된 인터페이스를 통해 상호작용한다.
- 모듈화는 코드의 재사용성, 유지 보수성, 가독성, 테스트 용이성을 크게 향상시킨다.
- 모듈화의 특징
- 독립성 : 모듈은 독립적으로 개발, 테스트, 배포 될 수 있다. 하나의 모듈을 수정해도 다른 모듈에 큰 영향을 주지 않도록 설계된다.
- 캡슐화 : 모듈은 내부 구현을 숨기고, 외부에 필요한 인터페이스만 노출하여 코드의 안정성을 높이고, 의도치 않은 변경으로 인한 오류를 줄여준다.
- 재사용성 : 한 번 작성된 모듈은 다른 프로젝트에서도 쉽게 사용가능하여 효율성 증가
- 유지보수성 : 모듈 단위로 코드를 관리하여 버그 수정이나 기능 개선이 훨씬 간편해진다.
- 조직화 : 코드가 모듈로 잘 조직화되어 프로젝트 구조를 쉽게 이해 가능하고, 협업도 원활해진다.
2. 모듈방식의 예시
- express를 활용한 디렉토리 구조
📦public
┣ 📂css
┃ ┣ 📜nomalize.css // 일관된 스타일을 위해 nomalize.css 설정
┃ ┗ 📜styles.css
┣ 📂fonts
┣ 📂images
┗ 📂js
📦views // 정적 레이아웃 관리
┣ 📜header.ejs
┣ 📜index.ejs
┗ 📜main.ejs
📦src
┣ 📂core
┣ 📂layer // Model-Controller-Service 구조를 통해 기능별 관리 및 계층 분리
┃ ┣ 📂controller
┃ ┣ 📂model
┃ ┗ 📂service
┣ 📂routes
┣ 📂utils
┣ 📜app.js
┣ 📜constants.js
┗ 📜index.js