WEB开发网      婵犻潧鍊婚弲顐︽偟椤栨稓闄勯柦妯侯槸閻庤霉濠婂骸浜剧紒杈ㄥ笚閹峰懘鎮╅崹顐ゆ殸婵炴垶鎸撮崑鎾趁归悩鐑橆棄闁搞劌瀛╃粋宥夘敃閿濆柊锕傛煙鐎涙ê鐏f繝濠冨灴閹啴宕熼鍡╀紘婵炲濮惧Λ鍕叏閳哄懎绀夋繛鎴濈-楠炪垽鎮归崶褍妲婚柛銊ュ缁傚秹鏁撻敓锟� ---闂佹寧娲╅幏锟�
开发学院软件开发Java 常用Flex IOC框架比较分析 阅读

常用Flex IOC框架比较分析

 2009-10-09 00:00:00 来源:WEB开发网 闂侀潧妫撮幏锟�闂佸憡鍨电换鎰版儍椤掑倵鍋撳☉娆嶄沪缂傚稄鎷�婵犫拃鍛粶闁靛洤娲ㄩ埀顒佺⊕閵囩偟绱為敓锟�闂侀潧妫撮幏锟�  闂佺ǹ绻楀▍鏇㈠极閻愬搫绾ч柕濠忕細閼割亜顪冪€n剙浠ф繛鍫熷灥椤曘儵顢欓悡搴ば�
核心提示: 在这个例子应用中,LoginPM是事件源,常用Flex IOC框架比较分析(10),LoginAction(从LoginHandler重命名而来)是事件处理器,如下代码摘自LoginPM:[Event(name="LOGIN",type="com.adobe.log

在这个例子应用中,LoginPM是事件源,LoginAction(从LoginHandler重命名而来)是事件处理器。

如下代码摘自LoginPM:

[Event( name="LOGIN", type="com.adobe.login.control.event.LoginEvent")]
[ManagedEvents("LOGIN")]
public class LoginPM extends EventDispatcher
{
...
public function login() : void
{
var event : LoginEvent = new LoginEvent( username, password );
dispatchEvent( event );
}
}

让LoginPM成为事件源需要三个要素:Event元数据标签、ManagedEvents元数据标签,以及EventDispatcher#dispatchEvent。三者当中,只有ManagedEvents是Parsley扩展而来。Event元数据仅为习惯做法,事件的实际派发工作是由dispatchEvent完成的。Parsley将通过ManagedEvents决定它要处理哪个事件,并将该事件委托给事件处理器。

如下代码摘自LoginAction(已经被配置为事件处理器):

public class LoginAction implements IResponder
{
[MessageHandler]
public function execute( event : LoginEvent ) : void
{
...
}
}

因为我为这个函数补充了MessageHandler元数据,Parsley将把这个对象/函数当做类型为LoginEvent的所有事件的监听器。

要让这些对象对Parsley可见,可在传入FlexContextBuilder的配置文件内声明这些对象,或在视图中使用Configure对象。

表现层模型的注入

和其他例子一样,我已将表现层模型的继承结构去除。相关原因请参看Spring ActionScript。

Parsley支持setter和constructor两种注入方法。像我在Spring ActionScript例子中提到的那样,我更倾向于使用constructor注入,因为它可以暴露出对象运作所需的全部依赖。如是是DashboardPM的配置:

上一页  5 6 7 8 9 10 

Tags:常用 Flex IOC

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接