Skip to content

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 concrete clsControllerBase/clsModelBase types into the shared page lifecycle.
  • Is the object ViewPageBase/ViewControlBase hold 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 MustInherit contract.
  • 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 clsFactoryBase subclass per application (or per controller family) to satisfy GetController/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