FlashAS3单例模式通用类写法.docVIP

  • 1
  • 0
  • 约3.25千字
  • 约 6页
  • 2017-06-12 发布于北京
  • 举报
Flash AS3单例模式通用类写法-Flash 单例模式的优点: 1.一个静态实例,把共享的属性方法能在任何一个程序集调用,信息有效的实现操作。(数据以一个静态实例的模式贯通全局) 2.有效降低大模块之间的耦合度。 (注意:缺点就是耗费内存资源。单例不能滥用) (注意:单例模式,顾名思义。只有一个实例的设计模式。) 单利模式的由来: 我们只要仔细地想想看,全局变量确实可以提供一个全局访问点,但是它不能防止别人实例化多个 对象。通过外部程序来控制的对象的产生的个数,势必会系统的增加管理成本,增大模块之间的耦合度。所以,最好的解决办法就是让类自己负责保存它的唯一实 例,并且让这个类保证不会产生第二个实例,同时提供一个让外部对象访问该实例的方法。自己的事情自己办,而不是由别人代办,这非常符合面向对象的封装原 则。 通用类写法:(提供三种常用的) 1.类只有一个实例 package ? 2 { ? 3???? public class Single ? 4???? { ? 5???????? private static var instance:Single = new Single(); ? 6???????? ? 7???????? private var _name:String = ; ? 8???????? ? 9???????? public function get name():String ? 10???????? { ? 11???????????? return _name; ? 12???????? } ? 13???????? ? 14???????? public function set name(value:String):void ? 15???????? { ? 16???????????? _name = value; ? 17???????? } ? 18???????? ? 19???????? public function Single() ? 20???????? { ? 21???????????? if(instance) ? 22???????????? { ? 23???????????????? throw new Error(Single.getInstance()获取实例); ? 24???????????? } ? 25???????? } ? 26???????? ? 27???????? public static function getInstance():Single ? 28???????? { ? 29???????????? return instance; ? 30???????? } ? 31???? } ? 32 } 2.类可以有多个实例,内部实例能贯通全局 package ? 2 { ? 3???? public class Single ? 4???? { ? 5???????? private static var instance:Single; ? 6???????? ? 7???????? private var _name:String = ; ? 8???????? ? 9???????? public function get name():String ? 10???????? { ? 11???????????? return _name; ? 12???????? } ? 13???????? ? 14???????? public function set name(value:String):void ? 15???????? { ? 16???????????? _name = value; ? 17???????? } ? 18???????? ? 19???????? public function Single() ? 20???????? { ? 21???????????? 22???????? } ? 23???????? ? 24???????? public static function getInstance():Single ? 25???????? { ? 26???????????? if(instance == null) ? 27???????????? { ? 28???????????????? instance = new Single(); ? 29???????????? } ? 30???????????? return instance; ? 31???????? } ? 32???? } ? 33 } 3.只有一个实例,用内部类实现只能实例化一次,外

文档评论(0)

1亿VIP精品文档

相关文档