SAIF.Framework.Bindable overview¶
Documentation context: Packaged Component (NuGet)
SAIF.Framework.Bindable is a base-class framework library that provides three independent, unrelated abstract base classes — clsBindableBase, clsBindableCollectionBase, and clsRulesManagerBase — intended to be inherited by business object classes elsewhere in the SAIF BOF stack to enable WinForms/WebForms data binding and rule-violation notification.
Purpose¶
- Provide reusable, in-memory object-model plumbing (event wiring and
IBindingListimplementation) for business object classes that need to support data binding and rule-violation notification. - Consumed by subclasses elsewhere in the SAIF BOF stack; this library defines no business operations, workflows, or concrete rule logic of its own.
Responsibilities¶
- Expose a serialization-safe
IsModifiedChangedchange-notification event for single-object data binding (clsBindableBase). - Implement the
IBindingListcontract overCollectionBaseso subclass collections can be bound to WinForms/WebForms data-bound controls (clsBindableCollectionBase). - Expose
RuleBroken/RuleNotBrokenevents implementing a business-rule-violation notification pattern (clsRulesManagerBase).
Key components¶
clsBindableBase: Base class exposingIsModifiedChangedand a protectedm_CriteriaObjectfield for data-binding change notification.clsBindableCollectionBase: Base class implementingIBindingListoverCollectionBasefor data-bound collection support.clsRulesManagerBase: Base class exposingRuleBroken/RuleNotBrokenevents for business-rule-violation notification.RuleEvent: Delegate signature (void RuleEvent(object rule)) used byclsRulesManagerBase's events.
Related documentation¶
Sources¶
SAIF.Framework.Bindable\clsBindableBase.csSAIF.Framework.Bindable\clsBindableCollectionBase.csSAIF.Framework.Bindable\clsrulesmanagerbase.csSAIF.Framework.Bindable\SAIF.BOF.Framework.Bindable.csprojSAIF.Framework.Bindable\SAIF.Framework.Bindable.sln