GEF jest Frameworkiem (zrębem) do budowy graficznego środowiska zintegrowanego z Eclipsowym Workbenchem. Wykorzystuje wzorzec Model-View-Controler.
Na powyższym rysunku widzimy, że GEF jest kolejną warstwą nadbudowaną nad Draw2d, która z kolej opakowuje nam SWT.
Warstwa Draw2d odpowiada za renderowanie, layouty, skalowanie tego co widzimy na ekranie, natomiast GEF jest odpowiedzialny bardziej za interakcje między elementami, wspiera mapowanie Model-View, zapewnia integrację z Workbenchem.
Gdybyśmy chcieli popatrzeć na GEFa w połączeniu z RCP (Rich Client Platform), to wyglądałoby to tak:
Funkcjonalności, jakie zapewnia nam GEF to między innymi:
Zalety GEFa:
EditParty są swoistą jednostką interakcji użytkownika z modelem. One na podstawie żądań klienta tworzą odpowiednie komendy, które działąją na modelu.
Odnosząc się do poprzedniego rysunku wyglądałoby to tak:
Inaczej można to przedstawić w następujący sposób:
Rysunki pochodzą z prezentacji Eclipse CON.2005 - Tutorial #23 GEF In Depth (c) 2005 by International Business Machines; made available under the EPL v1.0