폐쇄 . 이 질문은보다
중점 이어야합니다. 현재 답변을 받고 있지 않습니다.
Answer
모듈
- 특정 기능을 구현하기 위해 코드와 데이터를 캡슐화합니다.
- 클라이언트가 일관된 방식으로 기능에 액세스 할 수 있도록하는 인터페이스가 있습니다.
- 인터페이스가 필요한 다른 모듈과 쉽게 연결할 수 있습니다.
- 일반적으로 패키지화됩니다. 쉽게 배포 할 수 있도록 단일 단위로
예를 들어 dapper.net은 데이터베이스 액세스를 캡슐화합니다. 기능에 액세스 할 수있는 API가 있습니다. 빌드 할 소스 트리에 플러그인 할 수있는 단일 파일입니다.
모듈의 개념은 소프트웨어가 프로그램을 분해하여 모듈이라고하는 별도의 상호 교환 가능한 구성 요소로 구성되어야한다고 주장하는 모듈 식 프로그래밍 패러다임에서 비롯됩니다. 각 기능은 하나의 기능을 수행하고이를 수행하는 데 필요한 모든 것을 포함하는 모듈로 구성됩니다.
댓글
답변
모듈은 과부하 일 수 있습니다. 위키피디아는 소프트웨어와 관련된 사용을 논의 할 때 모듈 식 프로그래밍 이라는 용어로 설명합니다. 그들은 하향식 설계 접근 방식을 기반으로 한 구조화 된 프로그래밍 측면에서 논의합니다. 낮은 커플 링 및 높은 응집 사용과 관련된 모듈성의 주요 특성입니다.
내 사용법은 C 또는 C ++와 같은 언어에서 모듈이 소스 파일 (.c 또는 .cpp) 및 일반적으로 하나의 관련 헤더 파일 (.h)에서 별도로 컴파일 된 단위를 정의하는 것과 관련이 있다는 것입니다. 다른 언어는 모듈을 설명으로 사용하고 언어 Modula-2는 이름과 접근 방식에서 모듈을 앞뒤로 구조화합니다.
역사적으로 모듈에는 D.L. Parnas 백서 “소프트웨어를 모듈로 분해하는 데 사용할 기준”. 그는 주로 기능적 분해를 데이터 지향 분해로 대체 할 때의 이점을 논의하는 데 관심이 있습니다. 이는 객체 지향 분해 인 현재 최첨단 기술을 향한 큰 발걸음이었습니다.
객체 지향 언어는 클래스를 중심으로 구성되므로 모듈이라는 용어는 해당 컨텍스트에서 덜 중요하고 덜 정확할 수 있습니다.
답변
모듈에 대한 공식적인 정의는 없으며 프로젝트 컨텍스트에서 모듈이 무엇인지 (또는 그렇지 않은) 것은 주로 프로젝트의 특성과 디자인에 따라 다릅니다.
일반적으로 모듈은 구체적이고 밀접하게 결합 된 기능을 제공하는 독립형 코드 조각이며 모듈은 코드에서 논리적 경계를 정의하고 적용합니다.