牙牙窩

          BlogJava 聯系 聚合 管理
            8 Posts :: 21 Stories :: 10 Comments :: 0 Trackbacks

          ??????? 項目好忙,好久沒有上過這里了,今天過來一看,居然完全沒有人氣,哈 ... (看來我得努力了)最近看了 Nicholas C. Zakas 的一篇文章,覺得現在既然在做 JavaScript ,不妨模仿 Mr.? Nicholas 那樣,用 Javascript 實現一些設計模式。遲點也許也把 Javascript 實現 Object 的各種特性(如:繼承、多態等)也放上來。

          ?

          1、???????????? Factory

          Factory 是我們最常用的模式之一。它主要為我們提供一個獲取類實例的一個接口,把聲明類的過程封裝在了 Factory 中。舉一個 Javascript 最常見的例子:

          ?

          if (typeof XMLHttpRequest != "undefined") {
          ????return new XMLHttpRequest();
          } else if (typeof window.ActiveXObject != "undefined") {
          ????return new ActiveXObject("MSXML2.XMLHttp");
          }

          ?

          ??? 這個代碼主要是獲得一個XMLHttp的實例,在代碼中,很多時候都會用到。如果每次都寫一個,會變得很麻煩,采用Factory模式的方法。代碼如下:

          ?

          function XMLHttpFactory() {
          }

          XMLHttpFactory.createXMLHttp = function () {
          ????if (typeof XMLHttpRequest != "undefined") {
          ????????return new XMLHttpRequest();
          ????} else if (typeof window.ActiveXObject != "undefined") {
          ????????return new ActiveXObject("MSXML2.XMLHttp");
          ????}
          }

          在使用時可以直接調用而免去了很多冗余的代碼,而且代碼也非常直觀。

          var oXMLHttp = XMLHttpFactory.createXMLHttp();

          ?

          ?

          2 Singleton

          Singleton( 單態 ) 的作用是保持在界面中保持只有一個實例供調用。這樣可以保持系統對某一個實例使用進行控制。

          function MyClass() {
          }

          MyClass.instance = null; ?//define the static property

          MyClass.getInstance = function () {
          ????if (this.instance == null) {

          // 建立自己的實例,并保存
          ????????this.instance = new MyClass();
          ????}

          ????return this.instance;
          }

          ?

          在希望獲得改實例的引用時,執行以下代碼:

          var oMyObject = MyClass.getInstance();

          ?

          (未完待續 …..^_^

          ?

          ?

          posted on 2006-04-24 20:43 大牙 閱讀(668) 評論(0)  編輯  收藏 所屬分類: JavaScript探索
          主站蜘蛛池模板: 太仓市| 峨眉山市| 澜沧| 岫岩| 桐梓县| 湖北省| 石家庄市| 稻城县| 乡城县| 呼图壁县| 嘉兴市| 怀远县| 德清县| 宣城市| 哈尔滨市| 新密市| 天台县| 常熟市| 焉耆| 武宁县| 南京市| 福建省| 榆社县| 定日县| 永康市| 霍城县| 栖霞市| 鸡泽县| 马鞍山市| 镇巴县| 江阴市| 乐至县| 潞西市| 金平| 吴江市| 沁源县| 郎溪县| 苍南县| 赣州市| 南昌县| 营口市|