zoukankan      html  css  js  c++  java
  • 【机房重构】方法调用---再小也要理解

        在写机房学生注冊功能的时候,遇到了一些小问题,正如“麻雀虽小,五脏俱全”一样,问题虽小不一定自己就全然理解它的逻辑流程。在这里总结一下。便于以后的使用和深入学习。

        首先来看看学生注冊的流程:当输入卡号的时候。通过查找,推断卡号是否存在,存在,又一次输入;反之继续输入信息。

    点击保存时,先推断学号是否存在,存在。提示又一次输入学号;不存在,提示注冊成功。

        当然这是我理解的,每一个人的理解存在些许的不同。

        在设计的时候,在D层中就出现了。查找。插入,推断三个方法。

    在B层中首先要查找卡号是否存在,再在插入之前推断学号是否存在。这就说明在插入方法中用了推断方法。

        了解了流程,接下来看看这三个方法在B层中怎么写。第一种。我们能够定义插入、推断两个方法,在插入中直接使用推断。

        另外一种。将推断方法定义为私有方法,在插入方法中调用这个私有方法。来看看另外一种的代码:

    <pre name="code" class="vb">    Public Sub InsertBLL() '运行插入语句   这里定义的參数enStudentInfo在整个方法中都适用
            Dim dInfo As DAL.RegisterDAL
            Dim enStudentInfo As New Entity.enStudentInfo
            Dim isExist As Boolean  '定义一个boolean变量  。用于推断是否成功注冊
    
            isExist = QueryStudentNo(enStudentInfo.StudentNo) '此处调用了以下定义的私有方法 
            If isExist = True Then  '若值为true,则说明注冊成功
                dInfo = New DAL.RegisterDAL()
                dInfo.InsertBLL()
                MsgBox("注冊成功!")
            End If
    
    
        End Sub
        Private Function QueryStudentNo(ByVal StudentNo As Entity.enStudentInfo) As Boolean  '定义一个私有的方法,在别的方法中去调用它
            Dim dInfo As DAL.RegisterDAL
            Dim eInfo As New Entity.enStudentInfo
    
            dInfo = New DAL.RegisterDAL()
            eInfo = dInfo.QueryStudentNo(StudentNo)
    
            If Not eInfo Is Nothing Then  '推断学号是否反复
                MsgBox("学号反复,请又一次填写。")
                Return False
            End If
            Return True
        End Function

        上述代码中。将私有方法QueryStudentNo的返回值定义为boolean型。

    当InsertStudentInfoDAL方法中须要调用它的时候。定义一个boolean型的变量IsExist来接受QueryStudentNo的返回值,接着通过推断IsExist是否为true。来确定是否须要返回。

        以上的两种方法,实际上没有什么大的变化。可是另外一种将方法定义成为私有的。当有多个方法都须要使用到这种方法的时候,这样的写法就体现出了它的优点。


        机房重构中,有的时候是不理解,有的时候理解了不知道怎么写。有的时候写出来了,但你却不理解。是不是当我们真的搞清了这些的时候。就是进步、、

        

       今天回头来看那会写的文章。真的是非常有感概呀。那会认为一个三层功能理解非常费劲。当完毕机房收费系统才发现,事实上那都不叫事儿。

       自己做过了。就发现,事实上没有什么难O(∩_∩)O~ 

       2014-8-3 

  • 相关阅读:
    Undergound Heaven [only_for_information]
    Essential Booklist of .Net Framework
    Thinkpad T4x 风扇转速档位控制
    Hot scene AGAIN!
    JavaScript使用技巧精萃
    今天项目中遇到的一个问题:判断新闻Id是否存在
    C++编译过程中"没有找到MFC80UD.DLL,因此这个程序未能启动.重新安装应用程序可能会修复此问题"? 的彻底解决
    SQL操作全集
    关于UrlReferrer传值的几点注意
    在ASP.Net2.0中使用UrlRewritingNet实现链接重写(转)
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5268458.html
Copyright © 2011-2022 走看看