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