Cairngorm学习笔记四(Cairngorm的Command)

      今天我们详细的讲解一下Caringorm框架中的command部分,也是如果通过Command 的delegate部分去实现Service操作(Remoting,Webservice等)。从上一节的讲解我们可以了解到Event事件是通过Frontcontroll映射到Command进行业务逻辑处理。

      如果command需要和后台数据库交互的话,command会产生delegate,将远程访问(httpservice,webservice等)实例化,并将处理结果返回给command。

     现在我们来分析一下FShop的代码:

 

     1.  LoadPhotosCommand.as中需要加载图片访问服务器数据(该实例简化就定义在本地xml中,但原理是一样的),通过onResults_loadPhotos这个方法,将获取的图片数据加载到ModelLocator中,这样View就可以显示所获取的数据了。

     2.在PhotoDelegate中,实际上是将远程访问对象实例化而已:

         public function PhotoDelegate(responder:IResponder)
         {
            __service = __locator.getHTTPService("photosIn");
            __responder = responder;
         }

 

    3. 在service.mxml中

 

<?xml version="1.0" encoding="utf-8"?>
<rds:ServiceLocator xmlns:rds="com.adobe.cairngorm.business.*"
	xmlns:mx="http://www.adobe.com/2006/mxml">

	<mx:HTTPService id="photosIn" url="assets/photos.xml"/>
	
</rds:ServiceLocator>

    定义了数据的访问方式,通过httpService,直接访问远程对象,这里的url可以写成servlet或者struts的action

 

   通过这几天的学习,相信大家对Caringorm的框架已经了解的很熟悉了,那么在下一次的学习当中,我会做一个实际的例子使用Caringorm完成一个简单的对数据库的增删改查的操作。

 

 

你可能感兴趣的:(xml,框架,struts,webservice,Adobe)