WEB开发网
开发学院网页设计JavaScript 观察者模式—使用JavaScript实现 阅读

观察者模式—使用JavaScript实现

 2010-09-14 13:23:45 来源:WEB开发网   
核心提示: 非常不错!你现在可以创建观察者模式中的 观察者类 和 主题类 了,观察者模式中的 观察者类你只需要定义Update方法:function Observer(){this.Update = function(){ return;}}观察者模式中的 主题类好了,观察者模式—使用JavaScri

非常不错!你现在可以创建观察者模式中的 观察者类 和 主题类 了。

观察者模式中的 观察者类

你只需要定义Update方法:

function Observer()
{
  this.Update = function()
  {
    return;
  }
}

观察者模式中的 主题类

好了,让我们定义三个主要的方法:Nofify、AddObserver和RemoveObserver:

function Subject()
{
  this.observers = new ArrayList();
}
  
Subject.prototype.Notify = function(context)
{
  var m_count = this.observers.Count;
  for (var i = 0; i < m_count; i++)
  {
    this.observers.GetAt(i).Update(context);
  }
}
  
Subject.prototype.AddObserver = function(observer)
{
  if (!observer.Update)
  {
    throw 'Wrong parameter';
  }
  this.observers.Add(observer);
}
  
Subject.prototype.RemoveObserver = function(observer)
{
  if (!observer.Update)
  {
    throw 'Wrong parameter';
  }
  this.observers.RemoveAt(this.observers.IndexOf(observer, 0));
}

JavaScript中的继承

在JavaScript中有许多方法来模拟继承。一个非常简单的方式是定义一个名称为 Inherits 的方法,在该方法中,你可以复制一个对象的所有属性和方法到另一个对象中。

function Inherits(base, extension)
{
  for (var property in base)
  {
    try
    {
      extention[property] = base[property];
    }
    catch (e)
    {
      //Exception Handle
    }
  }
}

上一页  1 2 3 4 5 6  下一页

Tags:观察者 模式 使用

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