Winform開發架構的業務對象統一調用方式

來源:互聯網
上載者:User

在這個紛繁的社會裡面,統一性的特點能夠帶來很多高效的產出、牢固的記憶,這種特徵無論對於企 業、個人的開發工作,知識的傳承都有著非常重要的作用,Winfrom架構本身就是基於這個理念而生,從 統一的資料庫設計規則開始,統一的項目格局,統一的業務類、資料訪問類、實體類繼承關係,再到統 一的公用類庫,統一的許可權管理模組,統一的字典管理模組,統一的附件管理...,理解這些理念和規則 後,再來個終極的統一,架構代碼快速產生--Database2Sharp代碼產生工具。所有的架構(包括傳統 Winform開發架構、WCF開發架構、混合式開發架構、Web開發架構)都融合到這裡來,統一整合各種看似 零散,實則高度滲透的模組,統一的步伐除了時間、效力外,帶來給我更多的饋贈。本文主要介紹我的 Winform架構(也包括其他架構的特點)的業務對象統一調用的方式,介紹如何通過BLLFactory或者 CallerFactory的公用類庫來實現各種業務對象的建立工作。

1、BLLFactory的對象統一調用規則

在我的架構裡面,所有的業務類調用都是以BLLFactory入口進行開始建立,傳遞業務對象進去即可創 建,這種統一入口的方式能夠方便記憶,並減少代碼,更重要的是能夠很好把一些如緩衝規則、建立規 則封裝起來,簡化代碼。BLLFactory的建立示意圖如下所示。

既然是統一調用規則方式,那麼BLLFactory的類庫就應該提升到公用類庫的層級,所以提供Winform 架構支援的公用類庫如下所示。

當然,為了減少代碼,提高開發效率,整體的架構處處體現了代碼重用的規則,儘可能把重複的代碼 提取出來,因此還有很多如資料訪問基類、業務訪問基類、資料訪問基類介面、實體基類等類庫,結合 泛型能夠使我們的API更加統一化、強型別化,提高開發效率。由於BLLFactory是公用類庫層級,所有獨 立開發的模組,也都是以該類庫為統一入口,建立所必須的對象。

我們看看架構如何能夠在紛繁複雜的類庫裡面,準確建立一系列的對象的。

BLLFactory業務對象工廠輔助類的代碼如下所示。

/// <summary>    /// 對業務類進行構造的工廠類    /// </summary>    /// <typeparam name="T">業務物件類型</typeparam>    public class BLLFactory<T> where T : class    {        private static Hashtable objCache = new Hashtable();        private static object syncRoot = new Object();            /// <summary>        /// 建立或者從緩衝中擷取對應業務類的執行個體        /// </summary>        public static T Instance        {            get            {                string CacheKey = typeof(T).FullName;                T bll = (T)objCache[CacheKey];  //從緩衝讀取                  if (bll == null)                {                    lock (syncRoot)                    {                        if (bll == null)                        {                            bll = Reflect<T>.Create(typeof(T).FullName, typeof(T).Assembly.GetName().Name); //反射建立,並緩衝                            objCache.Add(typeof(T).FullName, bll);                        }                    }                }                return bll;            }        }    }

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.