Architektura Danych

Do programowania „silnika danych” zostanie napisany edytor wykonany w swingu oraz z podpiętym libGdx, gdzie na bieżąco będzie można podglądać wprowadzane zmiany, na wzór zaawansowanych edytorów. Dlatego na wstępie chciałbym przewidzieć strukturę danych oraz powiązania między nimi, będą one luźne ze względu na konspekcie komponentową.

pk_cz2_1

Można wyróżnić tutaj kilka poziomów danych:

  • Screen – widok wyświetlany w danym monecie, odpowiada to Activity z androida lub pojedynczą stronę internetową
  • Layer – poszczególne ekrany będą posiadały niezależną ilość warstw, ułożenie elementów na warstwie pozwala na określenie kolejności ich wyświetlania
  • Entity – poszczególne kontenery danych zawierające w sobie komponenty

Reasumując, w standardowej budowie obiektowej do rozszerzenia obiektów stosujemy dziedziczenie, w podejściu komponentowym większy nacisk kładziemy na użycie kompozycji.

Podejście obiektowe:

Podejście komponentowe:

GUI Edytora

Projekt GUI wykonany na szybko 😛 nie ma co wymyślać za bardzo tylko zobaczyć trzeba z czego składa się GUI w innych produkcjach, gdzie można wyróżnić pewne elementy składowe:

  • Podgląd działania danego obiektu, kamery, itd.
  • Tekstowy edytor skryptów, kodu odpowiedzialnego za interakcję
  • Inspektor obiektów
  • Edytor parametrów obiektu – poszczególne komponenty będą miały klasy do generowania indywidualnych formularzy
  • Inspektor assertów – element umożliwiający przeglądanie danych zewnętrznych typu: obiekty 3d, tektury, dźwięki, itd.
  • Pomocnicze narzędzia

Projekt GUI – nie używam tutaj narzędzi to prototypowania, bo fajny projekt GUI można szybko zaprototypować w NetBeans’ie czy Intellij. Chociaż dużo lepszy jest w Netbeansie.