程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB.NET >> VB.NET版機房免費零碎之外觀層如何寫

VB.NET版機房免費零碎之外觀層如何寫

編輯:VB.NET

VB.NET版機房免費零碎之外觀層如何寫。本站提示廣大學習愛好者:(VB.NET版機房免費零碎之外觀層如何寫)文章只能為提供參考,不一定能成為您想要的結果。以下是VB.NET版機房免費零碎之外觀層如何寫正文


外觀設計形式,《大話設計形式》第103頁詳細解說,不記得這塊知識的小同伴可以翻閱翻閱,看過設計形式,敲過書上的例子,只是學習的第一步,接著,假如在我們的項目中靈敏使用,把設計形式用出花兒來,才是霸道,有人總說,紙上得來終覺淺,絕知此事要躬行,可是真到了躬行的時分,總是行不通,言語倒不過去,設計形式是C#言語的,機房免費是VB.NET版本的,書上的形式和機房聯絡不起來,不知道怎樣使用,沒方法,憋呗,看博客,問人,上網查材料,就這樣,憋出一個外觀,雖不太完滿,但卻異常珍貴,由於那是我糾結好長時間從塵埃裡開出的花,就外觀形式的使用在這裡小小的總結一下。

就機房免費零碎中的一個注冊功用來說,著手之前,我們需求做以下考慮任務:

a、從學生表裡查詢,能否存在該學號;

b、從卡表裡查詢,能否存在該卡號;

c、在學生表裡拔出一條記載;

d、在卡表裡拔出一條記載;

e、在充值表裡拔出一條記載;

在外觀層我的代碼如下:(該博文,重點論述外觀層的寫法,其她層再此不再贅述)

<span style="font-size:18px;">'**********************************************
'文 件 名: RegisterFacade
'命名空間: Facade
'內    容: 從卡表和學生表外面查詢能否存在該卡號和學號,存在,給出提示,不存在,注冊成功之後,一次向卡表,學生表和充值表中寫入相關信息
'功    能: 注冊
'文件關系:
'作    者:丁國華
'小    組:寶貝方案
'生成日期: 2014/7/17 15:06:56
'版本號:V2.0
'修正日志:
'版權闡明:
'**********************************************
 
Public Class RegisterFacade
    '/// <summary>
    '/// depiction:<從學生表外面查詢能否存在該學號>
    '/// </summary>
    '/// <param name="<enStudent>"><學生實體></param>
    '/// <returns>
    '///<前往一個學生實體的集合>
    '/// </returns>
    Public Function QueryStudentNo(ByVal studentNo As String) As List(Of Entity.StudentEntity)
        Dim studentBLL As New BLL.T_StudentBLL
        Dim myList As List(Of Entity.StudentEntity)
 
        myList = studentBLL.QueryStudentNo(studentNo)
        If myList.Count > 0 Then
            Throw New Exception("該學號曾經存在")
        Else
            Return myList
        End If
    End Function
    '/// <summary>
    '/// depiction:<從卡表外面查詢能否存在該卡號>
    '/// </summary>
    '/// <param name="<enCard>"><卡實體></param>
    '/// <returns>
    '///<前往一個卡實體的集合>
    '/// </returns>
    Public Function QueryCardNo(ByVal cardNo As String) As List(Of Entity.CardEntity)
        Dim cardBLL As New BLL.T_CardBLL
        Dim myList As List(Of Entity.CardEntity)
 
        myList = cardBLL.QueryCardNo(CardNo)
        If myList.Count > 0 Then
            Throw New Exception("該卡號曾經存在")
        Else
            Return myList
        End If
    End Function
 
    '/// <summary>
    '/// depiction:<拔出一條學生信息>
    '/// </summary>
    '/// <param name="<enStudent>"><學生實體></param>
    '/// <returns>
    '///<前往布爾值>
    '/// </returns>
    Public Function InsertStudent(ByVal enStudent As Entity.StudentEntity) As Boolean
        Dim StudentBLL As New BLL.T_StudentBLL
        Dim flag As Boolean
 
        flag = StudentBLL.InsertStudent(enStudent)
        Return flag
    End Function
    '/// <summary>
    '/// depiction:<拔出一條卡信息>
    '/// </summary>
    '/// <param name="<enCard>"><卡實體></param>
    '/// <returns>
    '///<前往布爾值>
    '/// </returns>
    Public Function InsertCard(ByVal enCard As Entity.CardEntity) As Boolean
        Dim CardBLL As New BLL.T_CardBLL
        Dim flag As Boolean
 
        flag = CardBLL.InsertCard(enCard)
        Return flag
    End Function
   
    '/// <summary>
    '/// depiction:<拔出一條充值信息>
    '/// </summary>
    '/// <param name="<enRecharge>"><充值實體></param>
    '/// <returns>
    '///<前往布爾值>
    '/// </returns>
    Public Function InsertRecharge(ByVal enRecharge As Entity.RechargeEntity) As Boolean
        Dim RechargeBLL As New BLL.T_RechargeBLL
        Dim Flag As Boolean
 
        Flag = RechargeBLL.InsertRecharge(enRecharge)
        Return Flag
 
    End Function
 
End Class
</span>

前往欄目頁:

接著,我們再來看下一個充值的功用,著手之前,我們需求做一下考慮任務:

a、從卡表外面查詢,能否存在該卡號;

b、在充值表外面拔出一條充值記載;

c、更新卡表中的余額

和上述的注冊功用相比擬,兩個功用都需求從卡表外面查詢和向充值表外面拔出一條記載。所以充值這個功用,她的接口層(IDAL),D層(DAL),Factory-工廠層,BLL-業務邏輯層,她的代碼寫法和上述的注冊功用的寫法都是一樣的,我們就不需求在寫一次,直接調用就可以了,但是外觀層要怎樣寫呢,寫著寫著就寫不下去了,按著以前的寫法,只需求在外觀層寫一個更新卡表中余額的辦法就行了,從卡表中查詢和在充值表中拔出一條充值記載,只需求調用注冊的外觀就可以了,可是,這樣寫的話,U層就調用了兩個外觀層,那還是外觀層麼?顯然不是,看人程傑教師的大話設計形式中,外觀的寫法是把小的辦法匯總成一個總的辦法,寫在一個大的辦法外面,那充值的外觀究竟如何寫呢?如下:

<span style="font-size:18px;">'**********************************************
'文 件 名: RechargeFacade
'命名空間: Facade
'內    容:
'功    能:
'文件關系:
'作    者:丁國華
'小    組:寶貝方案
'生成日期: 2014/7/18 22:18:04
'版本號:V2.0
'修正日志:
'版權闡明:
'**********************************************
 
Public Class RechargeFacade
    '/// <summary>
    '/// depiction:<查詢卡號>
    '/// </summary>
    '/// <param name="<enCard>"><卡號></param>
    '/// <returns>
    '///<前往集合>
    '/// </returns>
    Public Function QueryCard(ByVal cardNo As String) As List(Of Entity.CardEntity)
        Dim cardbll As New BLL.T_CardBLL
        Dim mylist As List(Of Entity.CardEntity)
 
        mylist = cardbll.QueryCardNo(cardNo)
        If mylist.Count = 0 Then
            Throw New Exception("該卡號不存在")
        Else
            Return mylist
        End If
 
    End Function
 
    '/// <summary>
    '/// depiction:<需求向卡表中拔出一條記載,更新卡表中的余額,我們把這兩個寫成一個辦法,由於都需求前往一個布爾值>
    '/// </summary>
    '/// <param name="<enCard>"><卡號></param>
    '/// <returns>
    '///<前往集合>
    '/// </returns>
    Public Function Recharge(ByVal enCard As Entity.CardEntity, ByVal enRecharge As Entity.RechargeEntity) As Boolean
        Dim CardBLL As New BLL.T_CardBLL
        Dim RechargeBLL As New BLL.T_RechargeBLL
        Dim Flag(2) As Boolean
 
        Flag(0) = RechargeBLL.InsertRecharge(enRecharge)
        Flag(1) = CardBLL.UpdateCard(enCard)
 
 
        If Flag(0) And Flag(1) Then
            Return Flag(0)
        Else
            Return False
        End If
    End Function
End Class
</span>

小同伴一定有疑問,下面注冊的外觀層不是依然有兩個辦法?復雜,解釋一下,由於,查詢卡號的時分,我們需求前往一個卡表的實體,然後從外面找到以前的余額,然後還要加上充值的金額,構成一個新的余額,更新的時分才干有一個卡表實體,上面recharge的那個方我們的前往值boolean,true為充值成功,一個辦法不能夠有兩個前往值,所以寫成兩個辦法,總的來說就是詳細外觀層有幾個辦法,是由前往值定的。第二遍機房免費零碎,未完,待續......

作者:csdn博客 丁國華

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved