SSISO Community

시소당

이클립스 아키텍쳐

1)  아키텍쳐의  핵심

-  확장성과  통합성  고려하여  설계됨  

-  IDE의  공통  패턴화  

-  가장  작은  기능  단위를  plugin  으로  설계

-  extension  point(확장점)  이라는  기여  매커니즘(contribution  mechanism)을  사용.

      이는  플러그인  자신의  재사용을  위해  플러그인의  확장성을  공개적으로  선언하는  수단.

      다른  플러그인이  확장을  어느  부분에서  기여할  수  있는지를  정의.

  

2)  IDE  플랫폼  이클립스  와  리치  클라이언트  어플리케이션

-  IDE  중심의  툴을  만들기  위한  재사용  가능하고  확장  가능한  프레임워크

-  Native  look  and  feel  따르는  일반적인  어플리케이션을  만들기  위한  프레임워크

-  Layered  architecture

-  이클립스를  확장할  때에는  사용자  인터페이스에서  확장을  어떻게  할  건지  뿐  아니라,

      아키텍처의  어떤  계층에서  확장을  할  것인가도  결정.

  

3)  이클립스  플랫폼  런타임

-  이클립스의  모든  기능은  플러그인에  의해  제공

-  이클립스  플랫폼  런타임은  이클리스  startup  ,  설치된  로컬  플러그인을  찾아서  각  설정  파일을  읽어  확장과  확장점을  일치시킨다.  

-  OSGi  컴포넌트  기반의  런타임

-  동적  플러그인  로딩  기능

-  manifest.mf라는  번들  설명서  :  osgi를  설정하는  부분

  

4)  사용자  인터페이스  프레임워크  (UI  Framework)

  

4.1)  Workbench  UI  Plug-in

-  구성:  Editor  parts,  JFace  text(고성능의  편집기),  View  parts

  

4.2)  JFace  UI  Frameworks

-  구성:

viewers(swt를  모델로  하고  이  뷰어를  이용하는  형태  제공),

dialogs  and  wizards(이클립스의  사용자  상호  작용을  정의할  때  사용함),  

actions  and  contritubutions(액션기능의  추상화와  기여  기반의  ui  개념  정의),

image  and  font  registry(Global  registry를  이용하여  공통으로  사용되는  이미지,폰트  생성/삭제하는  작업을  도와줌)

-  유지보수와  새로운  환경으로의  이식을  용이하게  해줌

-  SWT를  보완하기  위해  설계됨

-  model-based  approach  사용  :  ui  개발  시,  더  적은  시간,이해하기  쉬운,  재사용  가능한  코드  작성할  수  있게  함.  (모델  -  뷰  상호  작용  형태  )  

-  목적:  추상화하여  중복되는  코드를  줄이고  swt가  제공하는  위젯의  활용성  높이는  것

  

4.3)  SWT  Framework

-  표준  위젯  툴킷으로  그래픽  객체와  그래픽  사용자  인터페이스  위젯의  모음

-  native  widget  기반

-  native  window  system  기반에서  쓸수없는  위젯의  경우,  swt가  에뮬레이션해준다

-  다른  플러그인이  swt의  기능을  쉽게  활용할  수  있도록  하기  위한  것

  

5)  워크벤치  프레임워크

-  대화상자  설정,환경설정,사용자  설정에  대한  API  제공

-  RCP  으로  어플리케이션  만들기

-  concurrency  프레임워크  이용  (  job  이라고  하는  백그라운드  프로세싱-  멀티스레드  기능)  

-  기능  명세를  통해  사용  가능한  ui를  통제  가능함

[출처]  이클립스  아키텍쳐|작성자  2skfro

http://blog.naver.com/PostView.nhn?blogId=2skfro&logNo=80034240603&categoryNo=30&parentCategoryNo=30&viewdate=&cpage=1&postListTopCurrentPage=2

4441 view

4.0 stars