요즘에는 backbone, emberjs, spinjs, batmanjs와 같은 MVC 프레임워크가 침입하고 있습니다. CommonJS, AMD, NodeJS, RequireJS, SeaJS, curjs 및 기타 모듈식 JavaScript가 출시될 예정입니다. 웹 프론트엔드는 큰 프론트엔드로 진화했고, 웹 프론트엔드는 매우 빠르게 발전하고 있습니다.
1) 모듈화란 무엇인지 살펴볼까요?
모듈화란 시스템을 독립적인 기능적 부분으로 분리하고, 모듈 인터페이스를 엄격하게 정의하며, 모듈 간의 투명성을 보장하는 방법입니다. javascript의 모듈은 일부 C, PHP 및 java에서 일반적입니다.
C는 include를 사용하여 .h 파일을 포함하고, PHP는 require_once를 사용하여 .php 파일을 포함합니다.
java는 import를 사용하여 패키지를 가져옵니다
에는 모듈식 아이디어가 있습니다.
2) 모듈화의 장점과 단점:
a>장점:
유지관리성
1. 유연한 아키텍처, 초점 분리
2 . 모듈 간 편리한 결합 및 분해
3. 단일 모듈 기능의 편리한 디버깅 및 업그레이드
4. 서로 간섭하지 않는 다자 협업
테스트 가능성
1. 단위 테스트로 분할 가능
b>단점:
성능 저하
1. 시스템 계층화, 호출 체인이 매우 길어짐
2. 모듈 간 통신, 모듈 간 메시지 전송에 많은 성능 소모
3) 모듈화도 최근 프로젝트에서 seajs를 사용해서 사용하고 있는데, jquery, jquery easyui/또는 jquery UI 컴포넌트를 참조할 때 jquery 플러그인이 많이 사용될 수 있으니, 매우 복잡한 상호작용에서는 모듈 사이에 많은 의존성이 있을 것입니다. 정의() 메소드를 사용하여 많은 모듈이 도입될 것입니다.
4) 첨부:
Cohesion
Cohesion은 모듈의 내부 구현을 의미하며 정보 은닉 및 현지화 개념의 자연스러운 확장을 나타냅니다. 모듈 내부 구성 요소가 서로 얼마나 밀접하게 결합되어 있는지입니다. 이점도 분명합니다. 관련 작업을 그룹화하면 읽기가 훨씬 쉽습니다. 설계 시 모듈 응집력을 최대한 향상시켜 모듈 독립성을 높여야 합니다.
결합도
결합도는 모듈 간의 결합 정도를 측정하는 것입니다. 결합 정도는 모듈 간 인터페이스의 복잡성, 모듈이 들어가거나 호출되는 위치 등에 따라 달라집니다. 응집력과 달리 느슨하게 결합된 시스템을 설계할 때 추구해야 합니다.