Dock

Dock Architecture Overview

This document provides a high-level look at the major components that make up Dock. It explains how they cooperate so you can understand the design before reading the deep dive.

Major components

Interaction overview

flowchart TD
    UI[DockControl]
    State[DockControlState]
    Manager[DockManager]
    Factory[IFactory / FactoryBase]
    VM[Dock view models]
    Serializer[DockSerializer]

    UI --> State
    State --> Manager
    Manager --> Factory
    Factory --> VM
    UI --> VM
    Serializer <--> VM
  1. DockControl displays the layout created by the factory.
  2. Pointer events are processed by DockControlState which consults DockManager to validate docking actions.
  3. DockManager modifies the view models by invoking factory methods.
  4. DockSerializer can load or save the view models to JSON files.

Customising any of these pieces lets you extend Dock with application specific behaviour. For an in-depth walkthrough see the deep dive.