You can insert custom functionality to respond to changes in the model in the following ways:
Events
Rules
Overridable class methods
You are notified of changes to the model, and your custom code can run when those changes occur.
Overriding Class Methods
You can override several class methods in a derived class or partial class. These methods always begin with On. For example: DomainPropertyValueHandler.OnValueChanging.