Esistono quattro tipi di proxy chiave di base che è possibile estendere per creare nuovi
proxy per un controllo nel dominio .Net. Essi sono ObjectProxy, ComponentProxy,
ControlProxy e ControlWithSubobjectsProxy.
- ObjectProxy
- ObjectProxy è il proxy base per i proxy del dominio .Net. Per impostazione
predefinita è associato sugli oggetti della classe System.Object. Contiene l'implementazione predefinita
di vari metodi di classe base, come GetChildren(), GetMappableChildren() e
GetRecognitionProperties(). Questo è un proxy non UI. Se il controllo in uso è derivato
dalla classe System.Object, è possibile ereditare il proxy per il controllo
da ObjectProxy.
- ComponentProxy
- Il proxy ComponentProxy è la classe base per la gestione di oggetti
derivati da System.ComponentModel.Component. Questo proxy implementa i metodi TestObject
come GetParent() e GetMappableChildren().
- ControlProxy
- Per impostazione predefinita, un controllo .Net derivato dalla classe System.Windows.Forms
viene associato sul proxy ControlProxy. Esso fornisce sia il supporto di riproduzione che di registrazione basato sulle coordinate per le azioni del
mouse come clic, trascinamento e passaggio del mouse.
Fornisce inoltre supporto per il punto di verifica delle proprietà, oggetto di scorrimento e
punto correlato all'oggetto nella vista.
- ControlWithSubobjectsProxy
- Il proxy ControlWithSubobjectsProxy implementa funzionalità di base
per i controlli del contenitore come Form e UserControl. Questo proxy fornisce inoltre
supporto per controlli con parti sulle quali è possibile fare clic ed essere indirizzate; ad esempio il controllo
DataGrid che ha intestazione e cella di elemento secondario. Inoltre, ControlWithSubobjectsProxy
fornisce supporto per la registrazione e la riproduzione dell'elemento secondario della barra di scorrimento, scorrimento
dell'elemento secondario nel controllo ed elemento secondario nell'elemento principale ScrollablControl incorporato.
Gerarchia di proxy per controlli .Net
La figura riportata di seguito
è un diagramma classi della gerarchia di proxy per i controlli .Net: