소프트웨어 모듈을 작성하는 기본적인 규칙 중 하나는, 컴포넌트 간의 커플링을 없애는 것이다. 컴포넌트간의 연결이 너무 강력하면, 시스템을 변경하지 않고, 일부 컴포넌트를 변경하거나, 설정을 변경하는 것이 어려워진다.
이클립스에서 모듈간의 커플링을 제거하기 위해 익스텐젼 포인트와 익스텐젼이 사용된다. 익스텐젼 포인트의 가장 간단한 비유는 플러그이다.
우리는 전기 콘센트에 맥북이나, 냉장고등을 연결하여 전기를 사용하여 다양한 일을 할 수 있다. 또 PC의 USB포트에 여러 주변기기를 연결하여 PC의 기능을 확장할 수 있으며, 아이폰의 유니버셜 포트에 독을 연결하여 음악을 감상하거나, DMB모듈을 연결하여 TV를 시청할 수 있다. 이 때 이 컴포넌트들이 연결되는 통로를 익스텐젼 포인트라고 하며, 그 연결을 통해 연결된 각각의 컴포넌트를 익스텐젼이라고 한다. 이러한 익스텐젼 포인트와, 익스텐젼들은 플러그인이라고 부르는 단위에 실리게 된다.
전기 콘센트에 연결된 컴퓨터가 USB포트를 갖는 것 처럼, 한 익스텐젼을 소유한 플러그인은 스스로 익스텐젼 포인트를 가질 수도 있다.
플러그인은 익스텐젼 포인트를 통해 그 기능의 일부를 확장하거나, 커스터마이즈 하는 것을 허용한다. 익스텐젼 포인트는 단순한 XML 구조 기술 파일로, 익스텐젼을 공급할 때 따라야 하는 규칙들에 대한 정보를 갖고 있으며 XSD로 정의 된다. 이 정보는 익스텐젼 공급자가 구현해야할 자바 인터페이스등을 포함하기도 한다.
익스텐젼 공급자는 이 명세서 이외에, 익스텐젼 포인트를 제공한 컴포넌트에 대해서 아무것도 알 필요가 없기 때문에, 서로에 대한 지식 없이도, 개인이나 회사에의해 만들어진 플러그인들이 서로 조화를 이루며 이클립스 플랫폼 위에서 동작할 수 있다.
'Eclipse Core' 카테고리의 다른 글
P2의 주요 용어 정리 (0) | 2010.11.29 |
---|---|
아아 좋은 이클립스 삽질이다 (0) | 2010.11.01 |
어댑터 디커플링 (2) | 2009.08.10 |
Job과 Schedule Rule (0) | 2009.08.08 |