2017년 6월 6일 화요일

eclipse rcp project study 01

rcp development

1. development build automation
2. server communication

I need to save and restore everything of all views stackoverflow
-- https://stackoverflow.com/questions/22787018/how-to-save-view-part

EMF 를 언급 했다. emf가 모든 뷰 상태를 저장 할 수 있는 느낌인데


EMF 프로젝트는 구조적인 데이터 모델에 기반한 애플리케이션을 위한 모델링 프레임워크이자 코드 생성기술이다.
실용 기술적인 측면에서 EMF는
  1. XMI[1]에 기술된 모델 명세를 바탕으로 해당 명세를 구현하는 Java 클래스들을 생성하는 도구를 제공하며,
  2. 생성된 코드가 작동하는데 필요한 런타임을 지원한다.
  3. 이러한 런타임 지원은 커맨드 기반의 기본 모델 편집기, 모델의 UI노출등을 돕는 어댑터 클래스들을 포함한다.

EMF가 제공하는 도구:
  • 메타 모델 편집기(통칭 Ecore 편집기)
  • Ecore 다이어그램 편집기(시각 기반 Ecore 편집기)
  • Java 소스 코드 생성 모델 편집기 및 생성기

생성되는 코드:
  • 모델 명세에 대한 구현을 담은 Java 클래스들
  • 모델 팩토리 및 패키지 추상화 클래스, 모델 유틸리티 클래스.
  • 모델을 UI와 연결시키는 다양한 어댑터
  • 기본 모델 편집기

EMF가 제공하는 런타임 API:
  • 메타모델 리플렉션 API
  • 트랜잭션/커맨드 API
  • 직렬화 API
EMF의 작업 흐름은 매우 현실적며 실천적이다. 간단하게 말하면 UML 클래스 다이어그램을 정의하면, Java 코드를 즉시 생성할 수 있다. 추상적이거나 뜬 구름과 같은 MDA가 아니며, 실제로 유용한 모델 구현을 즉시 얻을 수 있다.
모델이 파일로 저장되고 UI를 통해 편집되는 애플리케이션을 개발하는 중이라면, EMF도입을 강력하게 권장한다.


모델 변경 감시

일반적으로 모델은 상태 보존, 직렬화 외에도 모델 상태 변경 통지의 임무를 갖는다. EMF가 생성한 모델에도 물론 그러한 기능이 갖춰져 있다.
그러나 일반적인 addXXXListener(...)의 형태와는 다소 다르고, 이를 학습하기전에 어댑터 패턴의 기본 개념을 이해해야 한다.

일반적인 MVC 패턴에서 모델의 실제 상태가 변경된 경우에만 뷰를 업데이트 하므로, isTouch()를 이용하여 불필요한 뷰 갱신을 억제해야 한다.

Model Driven Architecture란 소프트웨어 시스템 개발을 위한 디자인 접근법 중 하나이다. MDA는 모델이라고 하는 구조적 명세의 집합을 가이드 라인으로 제공하는 도메인 공학의 일종이다. 또한 모델 중심 공학을 지원한다. Object Management Group(OMG)에 의해 2001년에 제안되었다.


http://www.eclipse.org/articles/Article-EMF-goes-RCP/rcp.html

http://developer.eclipsesource.com/technology/crossplatform/

http://data.ceh.vn/Ebook/ebooks.shahed.biz/JAVA/

댓글 없음:

댓글 쓰기

eclipse rcp dialog resize

  Dialog 안에 메소드를 만든다. private void autoResize(){     getShell().layout( true, true);     final Point newSize = getShell().computeSize...