比较重要的类和接口在flex_sdk_4.0.0.7219_mpl_src -- > frameworks -- > projects --> framework --> src --> mx -->core
1。接口继承体系,从底层接口到高层接口如下:
IFlexDisplayObject --> IBitmapDrawable, IEventDispatcher
IUIComponent --> IFlexDisplayObject
IContainer --> IUIComponent
IDeferredInstantiationUIComponent --> IUIComponent
IButton --> IUIComponent
IBorder
IRectangularBorder -- > IBorder
ILayoutElement --> IEventDispatcher
IID
IRawChildrenContainer
IChildList
IConstraintClient
IDataRenderer
IEmbeddedFontRegistry
IFontContextComponent
IFactory
IFlexModule
IFlexModuleFactory
IInvalidating
IProgrammaticSkin
对flash本身的包装
IDisplayObjectInterface
IInteractiveObjectInterface
IDisplayObjectContainerInterface
内部命名空间
mx_internal
2。类继承体系
FlexSprite --> Sprite
UIComponent --> FlexSprite implements IAutomationObject, IChildList, IConstraintClient,
IDeferredInstantiationUIComponent, IFlexDisplayObject, IFlexModule, IID,
IInvalidating, ILayoutManagerClient, IPropertyChangeNotifier,
IRepeaterClient, IStateClient, IAdvancedStyleClient, IToolTipManagerClient,
IUIComponent, IValidatorListener, IVisualElement, ILayoutElement
Container --> UIComponent implements IContainer, IDataRenderer,
IFocusManagerContainer, IListItemRenderer,
IRawChildrenContainer, IChildList, IVisualElementContainer
LayoutContainer --> Container implements IConstraintLayout
LayoutManager --> EventDispatcher implements ILayoutManager
ClassFactory implements IFactory
全局类:
FlexGlobals
UIComponentGlobals
ContainerGlobals
SystemManagerGlobals
Singleton(Flex单件类,静态类型,很多地方都会引用到)
应用程序相关:
Application --> LayoutContainer
FlexApplicationBootstrap --〉FlexModuleFactory
系统管理相关:
ISystemManager --> IEventDispatcher, IChildList, IFlexModuleFactory
SystemManager --> MovieClip implements IChildList, IFlexDisplayObject, IFlexModuleFactory,
ISWFBridgeProvider, ISystemManager, ITextLineCreator
SystemManagerProxy --> SystemManager
SystemRawChildrenList implements IChildList
拖动管理相关:
IDragManager
DragManagerImpl implements IDragManager
DragManager
DragProxy --> UIComponent
DragSource
DragEvent --> MouseEvent
其他还有ToolTipManager,CursorManager,FocusManager,PopUpManager,LayoutManager,BrowserManager,HistoryManager
三。事件钩子,函数调用队列以及单件
Flex SDK内部大量的用到单件,事件钩子,队列调用。
Singleton.registerClass(
"mx.resources::IResourceManager",
Class(getDefinitionByName("mx.resources::ResourceManagerImpl"))
);
着重看:
UICommpontent
FlexModuleFactory
FlexApplicationBootstrap
Application
SystemManager