DualLayerPresenter class abstract

A presenter that strictly separates DomainState (auto-generated, immutable, regenerated) from ViewState (developer-editable, preserved).

Architecture

┌─────────────────────────────────────┐
│      DualLayerPresenter             │
│  ┌─────────────┐  ┌─────────────┐   │
│  │ DomainState │  │  ViewState  │   │
│  │ (generated) │  │ (hand-edited)│  │
│  │ SignalSlices│  │ Signal<T>   │   │
│  └─────────────┘  └─────────────┘   │
└─────────────────────────────────────┘

Usage

class ProductDetailPresenter extends DualLayerPresenter {
  ProductDetailPresenter() : super(
    domain: ProductDetailDomainState(presenter: slicePresenter),
    view: ProductDetailViewState(),
  );
}

Constructors

DualLayerPresenter({required DomainState domain, required ViewState view, ZuraffaContext? context})

Properties

combinedState Map<String, dynamic>
Combined backward-compatible state map.
no setter
domain DomainState
The auto-generated domain state. Read-only, regenerated by zfa build.
no setter
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
view ViewState
The developer-editable view state. Safe to modify, never overwritten.
no setter

Methods

dispose() → void
Dispose both layers.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited