我的工具集之業務層

來源:互聯網
上載者:User

      繼上一篇”Db層”的貼子之後,我們再來聊聊業務層.這個老掉牙的話題,只稍微聊聊就好了,即使深挖三尺,也就那個樣子.

      額,還是說些正經的,它的作用是承上(Db層)啟下(UI層).結束了?嗯,結束了!從Db取資料部分交給Db層處理,展示資料部分交給UI層處理,其他的部分,就可以交給業務層了.唉,它其實也挺累的啊,一個人打兩份工,沒事還要無償加個班.而且經常背負著罵名,有問題一般先找業務層,誰讓它看不見,摸不著呢,唉,真背!

      至於業務層分幾層,就是仁者見仁,智者見智的事情了,不要在這裡鑽牛角尖,你把業務層再分5層,只要有道理,好用也沒關係的.

      這裡只說下它的特別點,其他部分大家看代碼就好了.

      1.針對不同的軟體開發方式,各建立一專案檔與之對應,如WebForm和WinForm,當然還會有個Base基礎做為公用類庫使用.-1所示.這是為以後開發其他類型的軟體做準備的,比如開發WPF,SL之類的.

圖-1

      2.Base公用類庫中,類庫根據介面定義,由逐個類分別實現.在BaseService中繼承常用介面.哪些不常用的方法,使用時直接ILogHelper item_loghelper = LogHelper.CreateInstance();這樣調用即可.-2所示

圖-2

圖-3

BaseSerivce寫好後,則WebForm 和WinForm的方式就可以直接繼承它,然後在此基礎上擴充它本身的類庫了.

      3.在這套”類庫”中,有一個概念要說下:”資料域”.在以前的管理軟體中,開發的最小單位應該是頁面,這裡面的最小單位是資料域,也就是說,資料域是被頁面所使用,或者說包含其中.

一個頁面可能會有多個資料域.舉個例子,一個單據頁面,有工具列,tab控制項(包括5個面板).那麼這個頁面就會有5個資料域,每個資料域負責載入一個面板資料.當然,收集資料也要用到資料域.而工具列的資料,也是通過資料域擷取的.

再舉個例子,一個列表頁面,-4所示.包括工具列,檢索欄(包括兩個按鈕)和網格控制項

圖-4

      使用資料域的方式,-5所示.工具列的項目儲存也是通過資料域的方式儲存的,調用時只需傳入一個參數即可.其他的按鈕,右鍵菜單之類的都是如此.

      如何形容”資料域”這個概念呢?或者說我為何要使用它呢?簡單說,就是在頁面層級上再細化一層,更加靈活咯.

圖-5

      4.BaseEntity這個類是實體類的祖先.在此類庫中所有實體類均需繼承此類,它無非是封裝了一個常用的方法.如反射方式取值和賦值等.-6所示.它繼承了一個介面

圖-6

      5.還有另外一個介面,就是純業務層的介面祖先,-7所示.業務層中最容易變化的部分就此登場了.它是啥作用呢?就是管理類軟體中,真正的行業業務.這部分東西可以脫離於軟體本身存在,而這部分東東,是非常容易變化的,為啥呢?i.客戶對它本身的需求不清楚.ii.我們對客戶的需求不清楚.這下好了,兩邊都不清楚的事情,一塊做的後果,大家懂的,不說了.我們看看介面定義完是如何使用的?-8所示

圖-7

圖-8

 

文章導航

我的工具集之Db層

我的工具集之業務層

我的工具集之UI層Base&WinForm+樣本

我的工具集之UI層WebForm(含WebPanel&JQueryEasyUI完整代碼)+樣本

 

代碼地址

http://u.115.com/file/e60sh8gj#
Navi.Kernel.Service.Base.rar

提取碼:e60sh8gj

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.