clsFactoryBase¶
clsFactoryBase is the abstraction point that decouples ViewPageBase/ViewControlBase from any specific consuming application's concrete controller and model types. Each consuming application implements this class once to supply its own controller/model pair, letting the shared page/control base classes remain generic.
Purpose¶
- Defines the contract (
GetController,GetModel) every consuming application must implement to plug its own concreteclsControllerBase/clsModelBasetypes into the shared page lifecycle. - Is the object
ViewPageBase/ViewControlBasehold a reference to and call at page-initialization time to obtain a controller instance for the current request.
Context¶
- Namespace:
SAIF.Presentation.Web.MVC - Assembly/package:
SAIF.BOF.Presentation.Web.Infragistics103(source-bundled)
Public members¶
| Member | Signature | Purpose |
|---|---|---|
GetController |
Public MustOverride Function GetController() As clsControllerBase |
Returns a concrete clsControllerBase instance for the current page/control; implemented entirely by the consuming application. |
GetModel |
Public MustOverride Function GetModel() As clsModelBase |
Returns a concrete clsModelBase instance; implemented entirely by the consuming application, and called both by clsControllerBase.Model (lazy model creation) and clsControllerBase.Navigate2 (new-model creation). |
Behavioral notes¶
- This class has no fields, no constructor logic, and no default (non-abstract) behavior — it exists purely as a
MustInheritcontract. - Neither member has a body in this library; both are pure abstract declarations (
MustOverride), so no shared/default factory logic can be documented here.
Constraints and usage notes¶
- Every consuming SAIF web application built on this library must supply exactly one concrete
clsFactoryBasesubclass per application (or per controller family) to satisfyGetController/GetModel.
Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.
Sources¶
- SAIF.Presentation.Web.MVC\clsFactoryBase.vb