# State Management Patterns - MVC-Starter

**Date:** 2026-03-11T11:59:39Z

## Overview

This project does not implement client-side application state management in the SPA sense. State is primarily handled on the server/request side through controller properties, request data, and helper libraries.

## Observed Patterns

- **Request-scoped flow:** Incoming requests are routed and dispatched per request through `public/Default.asp` and `core/mvc.asp`.
- **Controller-held page state:** Controllers expose simple properties such as `useLayout` and `Title` to influence rendering behavior.
- **Flash messaging:** Shared layout calls `Flash().ShowErrorsIfPresent` and `Flash().ShowSuccessIfPresent`, indicating transient server-side UI messaging.
- **Configuration-driven behavior:** Runtime flags and UI behavior are sourced from `public/web.config` via `GetAppSetting`.
- **Form/cache helpers available:** `core/lib.FormCache.asp` and related helpers suggest server-side request/form support patterns.

## What Is Not Present

- No Redux, Context API, Vuex, MobX, Zustand, or similar client-state library
- No SPA store layer
- No separate API/client state synchronization layer

## Brownfield Notes

- Treat this app as server-rendered and request-driven.
- If richer client-side interactivity is added later, it will be a new architectural layer rather than an extension of an existing state-management system.
