`
fokman
  • 浏览: 239236 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Cairngorm学习笔记二(Cairngorm的Model Locator)

    博客分类:
  • Flex
阅读更多

1.Cairngorm的Model Locator的定义

    在一个地方存储程序中所有的值对象(ValueObject),并共享变量,那么我们就可以理解为Model Locator是用来管理程序中所需要的变量

 

2.分析Cairngorm官方的sampleModel Locator代码

 

package model
{
	import mx.collections.ArrayCollection;
	
	[Bindable]
	public class ModelLocator
	{
		public var photoData:ArrayCollection=new ArrayCollection();
		public var purchasedPhotos:ArrayCollection=new ArrayCollection();
               //这个是设计模式中的一个单例模式,不明白设计模式的朋友先了解一  下设计模式
		static private var __instance:ModelLocator=null;
		
                //返回ModelLocator的实例
		static public function getInstance():ModelLocator
		{
			if(__instance == null)
			{
				__instance=new ModelLocator();
			}
			return __instance;
		}
	}
}

 3.代码解释

    Modellocator返回实例这部分代码大同小异,基本上所有的ModelLocator都是这样的写法。

 

    对于getInstance()方法,会判断程序是否有ModelLocator的实例,如果有值就不需要重新创建。

 

    对于ValueObject里面的代码就不需要将解了,跟Java的POJO差不多

 

下一节我们在介绍Caringorm的核心流程控制,也就是sample下business和events之间的关系了。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics