рдореЗрд░реА рдкрд┐рдЫрд▓реА рдкреЛрд╕реНрдЯ:
рд╕реНрд╡рд┐рдЬрд╝ рдлреНрд░реЗрдорд╡рд░реНрдХ (рдЕрд╡рд▓реЛрдХрди)рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдореИрдВ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╕реНрд╡рд┐рдЬрд╝ рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрдпрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХрд╛ рдХреЛрдИ рдкреНрд░рд╢реНрди рдпрд╛ рдЯрд┐рдкреНрдкрдгреА рд╣реИ, рддреЛ рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦреЗрдВ, рдореИрдВ рд╕рднреА рдХреЛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕реНрд░реЛрддреЛрдВ рдХреЛ
рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИредрддреЛ рд╕реНрд╡рд┐рдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдлреНрд▓реЗрдХреНрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЖрд░реЗрдЦ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

рд╡реНрдпреВ (рдпрд╛ рдкреНрд░рд╕реНрддреБрддрд┐ рдореЙрдбрд▓) рдПрдХ рдШрдЯрдирд╛ рдХреЛ рднреЗрдЬрддрд╛ рд╣реИ рдЬреЛ рдореЗрдЯрд╛ рдЯреИрдЧ
[Mediate(event="someEvent")]
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рдпрдВрддреНрд░рдХ рджреНрд╡рд╛рд░рд╛ рдкрдХрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗрд╡рд╛ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореЙрдбрд▓ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИред рджреГрд╢реНрдп рдХреЗрд╡рд▓ рдореЙрдбрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред
Inzhekting
рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕ рдЪреАрдЬрд╝ рдореЗрдВ рдЗрдВрдЬреЗрдХреНрд╢рди рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдк рдЪрд┐рддреНрд░ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:

рдореЙрдбрд▓ рдХреЛ рджреГрд╢реНрдп рдФрд░ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдореЙрдбрд▓ рджреГрд╢реНрдп рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдирд┐рдпрдВрддреНрд░рдХ рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИред рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рднреА рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддрд┐рдирд┐рдзрд┐, рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХреЗ рдШрдЯрдХ
рдореБрдЦреНрдп
SwizQuickstart.mxml
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдПрдХ рд╕реНрд╡рд┐рдЬрд╝ рдШрдЯрдХ рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рдмреАрдирдкреНрд░реЛрд╡рд╛рдЗрдбрд░реНрд╕ рдФрд░ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдпреВрдЬрд░рдлрд╛рд░реНрдо рд╡реНрдпреВ рднреА
<fx: рдШреЛрд╖рдгрд╛рдПрдБ>
<рд╕реНрд╡рд┐рдЬрд╝: рд╕реНрд╡рд┐рдЬрд╝>
<swiz: beanProviders>
<config: рдмреАрдиреНрд╕ />
</ swiz: beanProviders>
<swiz: config>
<рд╕реНрд╡рд┐рдЬрд╝: рд╕реНрд╡рд┐рдЬрд╝рдХреЛрдирдлрд┐рдЧ
EventPackages = "org.swizframework.quickswiz.eventред *ред"
viewPackages = "org.swizframework.quickswiz.viewред *" />
</ swiz: config>
</ swiz: swiz>
</ fx: рдШреЛрд╖рдгрд╛рдПрдБ>
<рджреГрд╢реНрдп: UserForm id = "userForm" />
рдЖрдЗрдП рд╕рднреА рдШрдЯрдХреЛрдВ рдХрд╛ рдХреНрд░рдо рдореЗрдВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ
SwizConfig
рдкреВрд░реЗ рдврд╛рдВрдЪреЗ рдХреЛ рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
<рд╕реНрд╡рд┐рдЬрд╝: рд╕реНрд╡рд┐рдЬрд╝рдХреЛрдирдлрд┐рдЧ
setUpEventType = "{Event.ADDED_TO_STAGE}"
setUpEventPhase = "{EventPhase.CAPTURING_PHASE}"
setUpEventPyerity = "50"
teardownEventType = "{Event.REMOVED_FROM_STAGE}"
teardownEventPhase = "{EventPhase.CAPTURING_PHASE}"
рдЖрдВрд╕реВрдордиреЛрдкрдпреЛрдЧрд┐рддрд╛ = "50"
EventPackages = "com.foo.events, org.bar.events"
validateEventTypes = "рд╕рд╣реА"
viewPackages = "com.foo.views, org.bar.events"
DefaultFaultHandler = "рд╣реИрдВрдбрд╣реЗрд▓реНрдбрдлрд╝реНрд▓реИрдбреНрд╕ рд╣реИрдВрдбрд▓"
defaultDispatcher = "рд╡реИрд╢реНрд╡рд┐рдХ" />
рдлрд▓рд┐рдпрд╛рдВ
рдмреАрдирдкреНрд░реЛрд╡рд╛рдЗрдбрд░реНрд╕ рдореЗрдВ, рдирд┐рдпрдВрддреНрд░рдХ, рдореЙрдбрд▓, рд╕реЗрд╡рд╛рдПрдВ, рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрди рд╡рд░реНрдЧреЛрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рд╡реЗ рд╕рднреА рдореЗрдЯрд╛ рдЯреИрдЧ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рд╕рднреА рдЖрдВрддрд░рд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВред
<config:Beans />
рд╡рд░реНрдЧ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
<swiz: рдмреАрдирдкреНрд░реЙрдЗрдбрд░
xmlns: fx = "http://ns.adobe.com/mxml/2009"
xmlns: swiz = "http://swiz.swizframework.org"
xmlns: рд╕реЗрд╡рд╛ = "org.swizframework.quickswiz.serviceред *
xmlns: рдирд┐рдпрдВрддреНрд░рдХ = "org.swizframework.quickswiz.controllerред *">
<рд╕реЗрд╡рд╛: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗрд╡рд╛ рдЖрдИрдбреА = "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗрд╡рд╛" />
<рдирд┐рдпрдВрддреНрд░рдХ: UserController id = "userController" />
<! - рд╣рдо рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдХреЙрд▓ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЬрд╝ рд╕рд░реНрд╡рд┐рд╕ рд╣реЗрд▓реНрдкрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред ->
<swiz: ServiceHelper id = "serviceHelper" />
</ swiz: рдмреАрдирдкреНрд░реЙрдЗрдбрд░>
рддрджрдиреБрд╕рд╛рд░, рдмреАрдиреНрд╕ рд╕реНрд╡рд┐рдЬрд╝ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рдж рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реЗрд╡рд╛рдПрдВ рдФрд░ рдирд┐рдпрдВрддреНрд░рдХ рд╣реИрдВред
UserForm
рдпрд╣ рдПрдХ рд╕рд╛рдзрд╛рд░рдг mxml рд╣реИ, рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЗрдВрдЬреЗрдХреНрд╢рди рд▓рдЧрд╛рдирд╛:
[Bindable]
[Inject (рд╕реНрд░реЛрдд = "userController.currentUser", bind = "true")]
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛;
рдЖрдЧреЗ рдХрд┐рд╕реА рднреА рд╕реНрдерд╛рди рдкрд░ рдЖрдк рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
<s: TextInput id = "firstName" рдЯреЗрдХреНрд╕реНрдЯ = "{user.firstName}" />
рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
рджреГрд╢реНрдп рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдореЙрдбрд▓ рд╕реЗ рдХреНрдпрд╛ рдорд┐рд▓рд╛ред
<s:TextInput id="firstName" text="{user.firstName}" />
рдЗрд╕рдХреЗ рдмрд╛рдж, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕реЗрд╡ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддрд╛ рд╣реИред
<s:Button label="Save" click="saveUser()" />
рднреЗрдЬреА рд╣реБрдИ рдШрдЯрдирд╛
user.firstName = firstName.text;
user.lastName = lastName.text;
user.email = email.text;
var event : UserEvent = new UserEvent( UserEvent.SAVE_USER_REQUESTED );
event.user = user;
dispatchEvent( event );
рдИрд╡реЗрдВрдЯ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдкрдХрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕реЗрд╡рд╛ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред UserService.saveUser (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛) рдХрдорд╛рдВрдб рдПрдХ AsyncToken рджреЗрддрд╛ рд╣реИред рдпрд╣, рдХреНрд░рдорд╢рдГ, рдХреЛрдИ рднреА рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдФрд░ рдХреЛрдИ рднреА рдХреЙрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ AsyncToken рджреЗрддрд╛ рд╣реИред
[рдордзреНрдпрд╕реНрдерддрд╛ (рдШрдЯрдирд╛ = "UserEvent.SAVE_USER_REQUESTED", рдЧреБрдг = "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛")]
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдорд╛рд░реЛрд╣ saveUser (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛): рд╢реВрдиреНрдп
{
serviceHelper.executeServiceCall (userService.saveUser (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛), handleSaveUserResort);
}
AsyncToken рдкрд░рд┐рдгрд╛рдо рдШрдЯрдирд╛ рдХреЛ рднреЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж, handleSaveUserResult рдлрд╝рдВрдХреНрд╢рди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ
рдирд┐рдЬреА рдлрд╝рдВрдХреНрд╢рди рд╣реИрдВрдбрд▓рд╕реЗрд╡рдпреВрд╕рд░рд╕рд╛рдЗрдХрд▓ (рдШрдЯрдирд╛: рдкрд░рд┐рдгрд╛рдо): рд╢реВрдиреНрдп
{
Alert.show ('рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рд╣реИ!');
}
рдЗрд╕ рд╕реНрдерд╛рди рдореЗрдВ, рд╣рдо рддрджрдиреБрд╕рд╛рд░ рдпрд╛ рдХрд┐рд╕реА рднреА рдШрдЯрдирд╛ рдХреЛ рдореЙрдбрд▓ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдХрд┐рд╕реА рднреА рдирд┐рдпрдВрддреНрд░рдХ рдпрд╛ рдкреНрд░рд╕реНрддреБрддрд┐ рдореЙрдбрд▓ рдореЗрдВ [рдореЗрдбрд┐рдПрдЯ] рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкрдХрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрджреЛрдВ рдореЗрдВ рдореИрдВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реВрдБрдЧрд╛ рдХрд┐ рдПрдХ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рдкрдХ рд╕реНрд╡рд┐рдЬрд╝-рдЖрдзрд╛рд░рд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдореИрдВ рд╕реНрд╡рд┐рдЬрд╝ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдЧреБрдгреЛрдВ рдХрд╛ рднреА рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред