Software Architecture

모듈 vs. 컴포넌트

Roiei 2022. 5. 6. 18:27
반응형

사람들이 자주 헷갈려 하는 부분이라 간단히 설명 드립니다. 

 

모듈은 "구현의 단위이자 배포의 단위 입니다." 

예를 들어 어떤 library, program이 바로 "모듈"입니다. 

또한 class file 하나도 하나의 구현 단위로서 module이 될 수 있습니다. 

 

컴포넌트는 "동작의 단위" 입니다. 

하나의 모듈이 하나의 컴포넌트에 1:1로 matching 될 수도 있으며, 그렇지 않을 수도 있습니다.

UI 상에 표시되어 동작하는 "button control"  하나도 component가 될 수 있으며, 하나의 process를 만들고 동작하는 것도 component로 정의할 수 있습니다. 

 

정리하자면, module은 개발 단계에서의 식별 단위이며, component는 runtime에서의 식별 단위 입니다. 그리고 이들의 granuity는 정의하기 나름이며, 말하는 context에 따라 달라집니다. 

 

by Roy

반응형