> For the complete documentation index, see [llms.txt](https://sampathlab.gitbook.io/iris-dva/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sampathlab.gitbook.io/iris-dva/getting-started/irisstructure.md).

# Application Structure

Iris comprises 2 main elements; the data core and the UI.

### Introduction

Iris was written around data, that is, I thought it most pertinent to build a data management class and then wrap it up with a user interface and allow the user to do what they wish with their data. I sought to make Iris a MATLAB based application for ease of shareability, compatibility and extensibility. I took an object-oriented approach to designing the core mechanism and leveraged MATLAB's vectorized language in an attempt to simplify and encapsulate data in as few classes as possible. Over the years, the Iris UI has changed, moving first from traditional java based figures to the newer\
web-based figures, with minimal updates to the application core structure.

### [Data Core](/iris-dva/getting-started/irisstructure/data-core.md)

The Iris data core comprises a Datum class and its Handler.

### [User Interface](/iris-dva/getting-started/irisstructure/user-interface.md)

The Iris user-interface is a collection of *figure* windows each served from a menu servicing class, which handles thier creation and desctruction from the main application. The UI is presented through the [primary view](/iris-dva/getting-started/basicusage.md) and the [preferences](/iris-dva/getting-started/prefs.md) window, though the user may find that navigating larger datasets is easier through the [Data Overview](/iris-dva/getting-started/basicusage/navigation.md).

### Application Core

The Data core and the UI are brought together
